我当时写的代码在我的一个开发板(芯片:STM32VET6)上是可以正常ADC采集数据的,当时通过串口将数据发至串口助手上打印查看,发现是OK的,(这里提一下,为了防止摸黑调试,串口助手是个好东西,)结果下载到我的STM32103ZET6最小系统板上就不对,串口助手打印一直为高电平(3.29V),我开始以为是芯片不兼容的问题(管脚定义错误这种问题我排除了,换个ADC通道采集的问题试过我也排除了),于是我找了份STM32103ZET6采集程序在ZE上还是不行,但在VE开发板上却可以,这就排除芯片不兼容问题,剩下肯定是硬件上的问题没跑了。(一步步将问题排查缩小)。由于身边还有块32的板子,我就直接拿了过来用,结果发现还是采集不了(我有3块STM32板子,1个是VE的开发板,2个是ZE的最小系统板),我纳闷了,难道是2块板子都有问题,这种问题出现的概率应该不大啊,试了一下午也没找出问题,最后我试了两块ZE板子上其他功能GPIO口,都好着,我排除两块板子的问题,可是为什么我那个VE的开发板能采集,为什么这两块就是不行,是硬件问题可是硬件到底哪里有问题?我想到了VE的开发板人家为了稳定在做的时候肯定把好多电路都已经设计上去了,而我的核心板很小,为了简化肯定哪里电路没有连接之类的(我核心板只有芯片,管脚,晶振),是不是就是ADC那里漏了,于是我找手册,发现基准电压,Vref+管脚接3.3V,Vref-接地(什么VDDA我没管),然后我用万用表一测,果然我的核心板Vref+管脚没有拉高,Vref-没有拉低,当我焊上使其连接时,好了,一切的问题搞定,其实我是先焊上Vref+接到3.3V,可以正常采集了(我开始用的湿度传感器做测试,输出在3V左右),但我的传感器输出只有10mv,采集出来还是0v,最后将Vref-接地问题才得以解决。(建议大家以后买核心板做ADC采集时,一定要先看板子上Vref和3.3V之间的跳帽有没有插上,或者测量其电压是否为高电平)。
————————————————
版权声明:本文为CSDN博主「闯_linux」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32535249/article/details/89645147
STM32学习笔记之使用开发板ADC采样
最新推荐文章于 2024-07-17 11:06:11 发布