打印
[研电赛技术支持]

GD32用ADC扫描模式+DMA传输 查询方式等不到EOC标志置位

[复制链接]
868|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
慢醇|  楼主 | 2022-1-25 22:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

按兆易创新官方文档 GD32F30x_用户手册_Rev2.5.pdf 编写ADC扫描规则组并开启DMA传输的程序。

在软件触发转换之后,继续运行其它代码,隔一段时间查询一次EOC标志。查询到EOC标志位恒为0,但是DMA确已将数据搬运到定义的数组缓冲区中。


使用特权

评论回复
沙发
慢醇|  楼主 | 2022-1-25 22:19 | 只看该作者

使用特权

评论回复
板凳
慢醇|  楼主 | 2022-1-25 22:20 | 只看该作者
所以这种方式不可行,改为查询FTFIF位,程序正常运行。

使用特权

评论回复
地板
慢醇|  楼主 | 2022-1-25 22:22 | 只看该作者

使用特权

评论回复
5
慢醇|  楼主 | 2022-1-25 22:23 | 只看该作者
猜想应该是DMA响应并转运ADC转换值寄存器数据,相当于程序读取了转换值寄存器。由于EOC标志位读后自动清零的特性,导致用查询方法查询不到其置位。

使用特权

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

本版积分规则

116

主题

1186

帖子

4

粉丝