STM32上电不工作,复位才可正常工作解决办法

在进行STM32芯片的一个程序代码中,主要的工作是点亮一个TFT的LCD屏幕,显示一些图片。整体的代码都跑通了,自己做的板子也都测试可以正常工作,包括显示屏的点击反馈,界面切换,数据传输等都正常。

但是存在一个问题,第一次上电的时候屏幕只显示上半部分或者花屏,只能通过复位才能正常工作,实验多次都是同样的现象。接通电源之后怎么复位也都会正常工作,不会出现屏幕点亮不成功的问题。

然后查了一下看有一部分人说是复位电路的问题,建议调整复位电路的容值,测试效果不明显。还有说晶振不起振的,这个基本上不存在,无源晶振一般情况下再STM32中一般不会出现问题,况且复位后能正常点亮。

然后用电源测试了一下工作还开机的工作电流,正常工作时候的电流应该在160,在上电的瞬间电流只能跑到60,电流差了100,屏幕肯定不能正常点亮,测量显示屏的供电电压,也都正常,不过电流就是上不去,推测对有无电压的瞬间产生影响的大概率是芯片和电容,但是测试发现器件也没有损坏。

-----硬件上的问题在查找的同时,也思考用软件来避免和解决,既然需要复位一下就可以正常启动,那在程序中开始加一段复位就可了,。。。。实际上并不可以,逻辑上说不通,然后通过想象分析,电流瞬间跑不上去,可以给有点时间,在显示屏初始化的前面添加一定的不影响效果的延时,应该可以达到效果。实际测试,可以解决此问题。。。。

在后来长时间的测试中,添加延时的方法确实在没有出现过上电第一次启动不起来的情况。

你可能感兴趣的:(单片机&ARM,单片机,arm,stm32)