[STM32L0] ADC采集特定点不准

[复制链接]
1501|3
 楼主| wei816 发表于 2018-1-26 11:26 | 显示全部楼层 |阅读模式
使用的芯片STM32L031 AD采集是12位,使用3.3V供电,采集电压由0.3V(0.3/3.3*4096=372=0x0174)到2.3V(2.3/3.3*4096=2854=0x0b26)线性递增,理论上AD值也会线性递增.
实测数据总体上也是线性递增的,但是通过仿真发现在
0x01FF~0x0230这些点读到的值都是0x01FF
0x02FF~0x0330这些点读到的值都是0x02FF
0x03FF~0x0430这些点读到的值都是0x03FF
也就是只要低8位都是高电平后面就有一串点读出来的值不对,做了个数组连续读100个值,发现100个里面有8个左右的正确值,其他92个都是0x0*FF.
接着把ADC过采样使能,没出现该问题。
现在就搞不清楚为什么会出现这个现象。数据我都是直接仿真看DR寄存器的数据,用的是st官方的HAL库。
请各位大神分析下,不胜感激。
heisexingqisi 发表于 2018-1-26 13:49 | 显示全部楼层
你定义的变量存储是多少bit的,最好原始数据不要改,用uint16存储。然后看看原始数据是否是线性。
dongnanxibei 发表于 2018-1-26 15:04 | 显示全部楼层
不清楚,这个是软件还是硬件问题
mintspring 发表于 2018-1-26 15:44 来自手机 | 显示全部楼层
这个我也不太懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

495

帖子

6

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