背景:LCD1602的应用程序从stm32移植到gd32后,上电瞬间会显示黑条。因为应用层程序都是一样的,所以猜想是启动时间上区别。
1、没有程序的时候:
在单片机没有程序的情况下,上电后就会显示黑条,所以属于正常现象。查阅相关资料发现LCD1602默认的是启用一行,所以会上电的时候显示一行黑条。
2、STM32、GD32上电启动到运行初始化LCD的时间分析:
探头2抓取mcu 电源,探头3抓取GPIO电平(初始化LCD之前拉高GPIO电平)
(1)stm32时间
可以看出,从上电启动到初始化LCD,用时66ms。
(2)GD32时间
可以看出,从上电启动到初始化LCD,用时276ms。
(3)芯片手册标称启动时间
ST手册中未提及启动时间;
查看GD32的手册,发现不管使用什么时钟,从上电到运行到main函数都需要144ms,LCD1602的实际应用还有boot等,所以会远大于144ms时间。
结论:STM32启动比较快,所以视觉上看不到LCD上电后显示的黑条;
GD32启动较慢,所有在视觉能看到有一瞬间显示黑条。