最近遇到一个问题,采用GD32F103RE单片机进行ADC采样,ADC引脚为PB0进行热敏电阻采集,但是采集出来的数据总是不对。通过把热敏电阻去掉,直接采用两个电阻3K对3.3V分压为1.65V,但是用万用表测试PB0,电压一直为1.92V,电压总是被钳位,把PB0采用浮空模式引脚就正常了,但是采集得用模拟输入。后面用STM32F103RE进行测试,一点问题都没有,能够正常工作。一直以为是GD库配置问题,但是改了还是不行。通过很久的时间以及查阅资料,发现MODBUS采用串口2(也就是PA2、PA3),测试引脚电压在4V左右,通过把485芯片去掉,ADC0就采集正常了,后面通过翻阅手册,串口2引脚不支持5V导致内部串扰了,之所以STM32能够工作,应该是内部优化的问题了。分享出来记录下,防止后期在出错。
|