遇到的问题:
使用dsPIC单片机驱动断码屏,初始化使其全亮进行测试发现1621芯片COM3对应的所有段都不亮,排除硬件问题(有一块别人写好的代码驱动同一块断码屏可以全部显示)。
同样的驱动代码,使用STM32单片机驱动时没有遇到这样的问题。(从STM32移植到dsPIC上的)
解决方法:
和初始化顺序有关,上图是可以用的初始化。偏压设置初始化本来在打开LCD显示初始化上面,将其移到最上面解决问题。之前看网友类似问题的帖子说是延时时间问题,但并不能解决我的问题。看似一个简单的细节,却花费了我几个小时的光阴来解决。之所以能想到调整初始化顺序还是因为要配置蜂鸣器初始化,配置时发现如果先初始化声音打开再初始化频率设置为4K是不行的。于是猜测LCD初始化部分会不会能解决问题。
24/2/23今天早上测试发现依然存在一些问题,初始化顺序问题并不是真正的罪魁祸首。在每个初始化之前添加了1ms延时得以解决,或在发送命令函数前添加1ms延时。其实本次问题最大的还是延时时间问题。
将本次问题做为记录,同时也希望给遇到相同问题的技术人一个参考,帮助大家节省时间早点解决BUG推动社会的进步。哈哈