发新帖我要提问
12
返回列表
打印
[STM32H7]

STM32H743 ADC DMA 数据传输丢数

[复制链接]
楼主: 日生光军
手机看帖
扫描二维码
随时随地手机跟帖
21
tangdianbing@16 发表于 2019-11-12 19:14
谢谢回复,我再研究下,刚开始搞这个H743对HAL库里面的一些操作和函数调用还不太明白. ...

我有几个问题,
第一:我在ADC回调函数设置断点为什么会ADC会采集不到数据,我取消掉断点后重新运行程序可以采集到数据;
第二:我配置的ADC通过DMA采集四个通道的数据(没有采取循环模式),采集完成后,主程序While()循环中程序都跑乱了是怎么回事,感觉像是一直有中断打断While 内程序的执行,但是程序没死,为了搞清楚状况 我在循环中开启了蜂鸣器 交替500ms叫和停!先是把ADC和DMA关掉运行程序,一切正常 响声和预想的一样!然后打开ADC和DMA程序,我是一次采集四个通道没有循环的。一次采集完后 (采集到了数据 四个数据也是对的)到While 循环里就不正常了 变成蜂鸣器一直惨叫,好像是那种一直处于响到不响 状态交替 且频率很高!不知道这个问题是什么引起的!应该从哪里查起!
第三:请问你说的Cache问题具体怎么操作的,怎么保证读取数据时是更新过的

使用特权

评论回复
22
香水城| | 2019-11-20 14:30 | 只看该作者
tangdianbing@16 发表于 2019-11-19 22:05
我有几个问题,
第一:我在ADC回调函数设置断点为什么会ADC会采集不到数据,我取消掉断点后重新运行程序 ...

1、cache是可以关闭的,你可以关闭Cache后验证下结果;
2、开启D-Cache后,注意数据的一致性。在读取可能被缓存的数据前先做个cache的清除操作。比如 SCB_CleanDCache.....
或者将相关内存区定义为透写属性;
3、适当地研究下相关手册;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则