|
最近在尝试用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, 下载次数: 48)
|
微信公众号
手机版
可能是设置DMA传输有误,DCMI接口接收到数据后通知DMA需要DCMI_CaptureCmd(ENABLE)来设置 CR寄存器的CAPTURE位。再找找吧。
评分
查看全部评分
23.DCMI_OV2640.zip
2019-6-18 10:20 上传
点击文件名下载附件
下载积分: ST金币 -15.75 MB, 下载次数: 206, 下载积分: ST金币 -1