首先,在这里给大家说一下我的经历,并不是想诋毁ST的东西。
其次,希望有经验的高手可以指点一二,是否我在开发过程中哪里出错才导致现在的结果。
废话不说了,进入主题~~~
我是需要驱动一块段式的液晶屏,屏是4个COM口。最初选用的是STM8L152带LCD驱动的,做出来的效果相当不理想,显示闪烁不均匀。后来反复的调试占空比、扫描时间、死区时间、内外LCD供电方式等等,都无法达到满意的显示效果。最终没有办法弃用了这款带LCD驱动的芯片,改用普通型的STM8S103,并且配上LCD驱动专用芯片HT1621B来驱动我的屏,显示效果相当好。在这里说一下,CPU与HT1621B的通信是使用三线串口通信,只需将数据发送过去即可。
后来由于项目要求提高,STM8S103的10位ADC无法满足需求。在对比之后发现STM8L152的AD是12位的,正好,于是就决定拿STM8L152加上HT1621B来做。满以为只是程序移植一下就可以完成的事,结果却让我大跌眼镜-------液晶屏根本就不能点亮!!!选了一个IO口点亮一只LED灯,程序上让LED闪烁,以此来证明CPU是否正常工作。测试证明LED正常闪烁,说明CPU是工作了的。反复的查阅硬件、液晶屏驱动程序,逐步的打断点跟踪、测电平,都找不到异常的地方。至此,考虑到之前使用该款芯片LCD无法显示好的事情,我以为是买到假芯片了,于是乎又买了2片不带LCD驱动的同系列的STM8L151,结果还是不能点亮液晶屏,又是一轮加LED灯、反复的查阅硬件、程序,逐步的打断点跟踪、测电平,结果是cpu依然是工作了的,只是屏不亮。。。。。
后来做了2个测试,
第一,拿一块STM32F4的开发板给HT1621B发送数据(飞线的),显示正常。
第二,拿一片STM8S103K4焊上去,依然显示正常!!!(同样是飞线,同样是STM8L152的那块PCB板,因为封装相同,只是把电源、下载口等飞线解决了)。
现在项目搁置了,我在想是不是因为STM8L系列的低功耗IO口驱动能力没有基础型的那么强呢?希望哪位有经验的高手可以指点一下,我的邮箱是hj_ting@163.com,万分感谢! |