打印

GD32L233 ADC EOC信号什么时候改变?

[复制链接]
147|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cyc2009|  楼主 | 2025-5-20 18:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
Hi all:
    各位大神好,只用PA1采集1个电压信号,当使用STATE 寄存器的EOC信号作为转换结束判断时,发现一直死循环在判断中,仅仅使用delay,打印出来的电压值是正确的。
    请问可能是哪一块没有考虑到?如何提高判断转换结束的效率?
ADC配置如下:

使用时代码如下:


刚开始接触GD,还请多多指教。

使用特权

评论回复
沙发
cyc2009|  楼主 | 2025-5-20 18:35 | 只看该作者
补充:通过stlink debug,发现EOC信号其实是有变化的,但是不是每次trigger都置1.

使用特权

评论回复
板凳
cyc2009|  楼主 | 2025-5-20 19:04 | 只看该作者
参照官网例程,将其设置为注入通道,使用EOC信号,又是可以的,配置如下:
请问,这个又是怎么解释的,以前用STM32的,对GD不太熟悉,还望赐教,谢谢!

34959682c61964ebfa.png (58.19 KB )

34959682c61964ebfa.png

使用特权

评论回复
地板
dffzh| | 2025-5-21 11:10 | 只看该作者
按照芯片用户手册的说明来看,常规序列模式才能使用EOC标志来判断采样是否完成;
常规序列其实就是ADC_CTL0_DISRC设置为1,对应ADC_ROUTINE_CHANNEL;
应该是不能用注入模式ADC_INSERTED_CHANNEL来匹配EOC使用的;
你看下这个操作流程,认真仔细地对一下寄存器的初始化配置值;
然后debug时打开ADC的寄存器窗口,对照一下是否配置正确;
大概率是哪里的配置还有点问题;


使用特权

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

本版积分规则

9

主题

59

帖子

0

粉丝