打印
[AT32F403/403A]

请教AT32F403A的ADC如何实现8位采集

[复制链接]
936|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
baonng|  楼主 | 2022-10-18 16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD, ADC, dc
麻烦各位了:

我在使用AT32F403A的ADC普通模式采集信号,采集位数8位,在高采样时钟时,我使用的是DMA,因此按照左对齐,DMA以字节模式传输时没有问题。但是在低采样时钟时,我需要实时ADC数据,因此需要在ADC中断中通过adc_ordinary_conversion_data_get(ADC1)函数读取ADC值,但是此时如何得到8位数据呢?
使用adc_ordinary_conversion_data_get(ADC1)>>4也是不对的,望指点啊。

使用特权

评论回复
沙发
hoop| | 2022-10-18 19:57 | 只看该作者
板凳
hoop| | 2022-10-18 22:34 | 只看该作者
低速条件下不使用dma 仅通过软件读取转换数据的话,不可开启adc 的序列模式,配置为右对齐方式,在转换完成中断内通过你这个data _get 函数获取原始数据,并将获取到的数据右移四位即可。一定注意要配置数据右对齐方式

使用特权

评论回复
地板
baonng|  楼主 | 2022-10-19 14:45 | 只看该作者
hoop 发表于 2022-10-18 22:34
低速条件下不使用dma 仅通过软件读取转换数据的话,不可开启adc 的序列模式,配置为右对齐方式,在转换完成 ...

谢谢,我调试发现,ADC配置为左对齐时,将获取的数据右移8位,得到的数据就是需要的。

使用特权

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

本版积分规则

3

主题

23

帖子

0

粉丝