你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H7 DCMI DMA传输错误

[复制链接]
j2610127 提问时间:2018-8-14 05:13 /
最近在尝试用NUCLEO板子读取DCMI的数据,现在DCMI的HSYNC和VSYNC中断都能正常进入,但是DMA传输会出错。 调试发现DMA的NDTR减少了1,然后TEIF被置1了,也就是在传输第一个数据的时候就出现了传输错误。

工程文件是用CubeMX生成的,MCO2设置成了10MHz的XCLK输出,PCLK和HSYNC,VSYNC似乎都没有问题。程序也没有使用缓存,缓冲区对齐也尝试过了,还是会有同样的问题。看手册说DMA传输错误是下面这几种情况,但还是找不到问题在哪。

The transfer error interrupt flag (TEIF) is set when:
• A bus error occurs during a MDMA read or a write access
• The address alignment does not correspond to the data size
• The block size is not a multiple of the data size (for source and/or destination): this error is activated on the last transfer and the error address points to the last transfer (which cannot be done)

各位有遇到过这种错误吗?

DCMI_DMA.zip (1.73 MB, 下载次数: 49)
收藏 评论3 发布时间:2018-8-14 05:13

举报

3个回答
feixiang20 回答时间:2018-8-15 00:24:32
总线错误,地址数据不符,地址指针错误,传输方向,使能DCMI时钟,DCMI GPIO 配置,DCMI 配置等几种情况你都一一检查过可能性了吗?
可能是设置DMA传输有误,DCMI接口接收到数据后通知DMA需要DCMI_CaptureCmd(ENABLE)来设置 CR寄存器的CAPTURE位。再找找吧。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

zhang5055258 回答时间:2019-6-17 15:22:45
我也遇到类似的DMA错误,请问楼主的问题解决了吗?
你若安好_清风徐来 回答时间:2019-6-18 10:21:47
内存地址是否有问题?DMA开启就需要修改内存地址哦    我上传我的代码  你比较一下  使用的是STM32CubeMX 5.0

23.DCMI_OV2640.zip

下载

5.75 MB, 下载次数: 231, 下载积分: ST金币 -1

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版