在使用STM32L053这款芯片做低功耗的LCD显示后,发现LCD显示总是存在残影,残影即那些未点亮的像素仍有一定显示,特别是当从侧面和上方观察时。因为做项目经验有限,所以开始时查找问题花费时间非常久也没发现。: \3 V( r! E. W* e0 ] ; n3 W2 U+ }8 r& r0 w 因为是做嵌入式,出现问题不一定是软件的原因也可能是硬件问题(我开始一直偏向软件原因)。但一般都先分析软件方面,LCD的显示方式就不再赘述,首先分析就是LCD配置方面。配置函数如下:1 q* U R2 @0 D: K 6 n, v* k8 N$ x) O7 T 一般情况下就调整死区时间从而可以降低整体脉冲占空比,达到消除残影。通过调试后,发现残影确实降低很多,但是正面的观看就变的很模糊,因为液晶性质决定可视角度有限,液晶也随周围电场变化而变化。之后我就用示波器观察波形,发现seg口在未激活相位始终为0电平,所以导致和COM口形成的电压差过大从而未点亮像素也有残影显示。 % i! s1 F Y$ T 但问题是按手册上描述只有静态模式下才会用有这样,因为在动态扫描下电压在未激活都是非0值并且在奇偶周期内变化,形成交流电去电磁干扰。在不断修改代码调试后,发现还是解决不了问题反而问题越来越多。最后和STM的技术支持交流后,才肯定是硬件方面问题。硬件上开始也觉得是外围电路的问题,毕竟芯片本身是正版一般不会有问题,然而在一个个模块重新焊接测试后,才发现就是芯片问题。在测试硬件问题时,一定要注意单片机引脚配置,因为有些复用口功能会影响判断。起初就是把官方例程烧入到板子上发现出来波形就不同,然后重焊一块单独芯片就没问题,等焊了LORA模块又出现了。后来发现例程种的某些LCD口在我的程序种是用在了SPI口了,所以不设置这些管脚后并没有影响。 |