[研电赛技术支持] GD32E230用timer14触发adc规则采样

[复制链接]
 楼主| eeamic 发表于 2020-12-9 11:58 | 显示全部楼层 |阅读模式
使用Timer14的CH0通道去触发adc规则采样,使用DMA传输,采样一组adc通道数据是可以,但是采样多组数据则显示的为同一adc通道的数值
2745fd04b0c84d90.png 144765fd04b324f07c.png 154375fd04b70246ce.png
sonicll 发表于 2020-12-9 13:43 | 显示全部楼层
你开扫描模式了吗?不开扫描的话,你这个代码只能反复采样通道4
 楼主| eeamic 发表于 2020-12-9 13:54 | 显示全部楼层
sonicll 发表于 2020-12-9 13:43
你开扫描模式了吗?不开扫描的话,你这个代码只能反复采样通道4

开扫描模式采样出来的值也是一样的,并且开了扫描采样出来的值都没有一个对的,不开扫描起码第一路的值是正确的
sonicll 发表于 2020-12-9 14:07 | 显示全部楼层
eeamic 发表于 2020-12-9 13:54
开扫描模式采样出来的值也是一样的,并且开了扫描采样出来的值都没有一个对的,不开扫描起码第一路的值是 ...

肯定是需要开扫描的,你采样值不对的话,GPIO配置成模拟了吗,还有TIMER的初始化函数会有一次重装载操作,可能会触发一次采样,导致DMA数据错位,需要先配置TIMER但是不使能TIMER,配置完ADC和DMA后再使能TIMER
 楼主| eeamic 发表于 2020-12-9 14:17 | 显示全部楼层
sonicll 发表于 2020-12-9 14:07
肯定是需要开扫描的,你采样值不对的话,GPIO配置成模拟了吗,还有TIMER的初始化函数会有一次重装载操作 ...

      我不开扫描采样出来的值4通道的值是正确的,但是5通过的值居然跟4通道的值一样,这就不正确了,配成扫描的话我连4通过的值都不对,5通过的值还是跟4通道一样。另外我的定时器是在adc跟dma初始化完成后才配置的,我的timer配置是没问题的,因为每个pwm周期都能触发一次adc采样,我开启adc转换结束中断,在这中断里面翻转io,是可以证明触发是没有问题的。我的IO是配置成了模拟端口的,不然的话我4通过的值就不会正确了
      
 楼主| eeamic 发表于 2020-12-9 14:18 | 显示全部楼层
eeamic 发表于 2020-12-9 14:17
我不开扫描采样出来的值4通道的值是正确的,但是5通过的值居然跟4通道的值一样,这就不正确了,配 ...

打错字了,“通过”改成“通道”
 楼主| eeamic 发表于 2020-12-9 15:10 | 显示全部楼层
eeamic 发表于 2020-12-9 14:18
打错字了,“通过”改成“通道”

问题已经解决
sonicll 发表于 2020-12-9 15:12 | 显示全部楼层
扫描模式必须要开,不开扫描,序列长度设置是无意义的,这时候只会采样序列里第0个通道,每次采样都是通道4的,采样值肯定一样
xdqfc 发表于 2020-12-12 09:48 | 显示全部楼层

如何解决的啊??能发布一下吗??
果果不是泡泡 发表于 2022-3-23 16:54 | 显示全部楼层
楼主您好,我用timer14一直触发不了规则组采样,您可以分享一下方法吗拜托了
情感天下 发表于 2024-12-29 21:36 | 显示全部楼层
请问是如何解决的,我也遇到了同样的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

32

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

13

主题

32

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部