在linux3.10下调试oled12864显示屏

通过i2c方式在linux3.10下调试oled12864显示屏
在linux3.10下调试oled12864显示屏
调试步骤:
1、确认硬件
1.1、确认硬件连接是spi还是i2c(本文采用的是通过i2c方式)。
1.2、检查硬件是否有肉眼可见的问题(虚焊或脱落)。
2、修改驱动代码
2.1、在drivers/video下选择合适的驱动代码(仅仅是找个驱动框架,也可以自己写),并在dts的对应i2c中添加对应的内容。
2.2、参考中景园中51单片机的代码,借用里面初始化代码和read、write函数,并在linux3.10下驱动代码中实现这些功能。
2.3、调通关键是i2c是否能读到设备地址的内容,如果能读到即代表完成了80%。
2.4、实现应用层需要调用驱动的接口。
2.5、写应用测试程序来验证屏幕能否正常显示。

本人调试遇到问题:
1、主控通过i2c不能读到oled屏设备内容,而且不断发送无法响应
分析:
1.1、检查是否有设备节点生成。
1.2、在i2c发送数据前将发送内容打印出来,确认发送内容是否存在问题。
1.3、通过示波器测量时钟信号和数据信号查看是否能测出来,并查看高低电平的值是多少。
1.4、前面3种办法无法查出问题,可以通过代码实现发送指定内容,然后在屏设备这边用逻积分析仪查看内容是否一致。
通过分析得知主控发送到oled的电压高低电平是0V和1.8V,但oled屏需要0V和3.3V才能驱动,所以硬件修改了下,然后就可以读到内容了。

参考博客:
https://blog.****.net/qq_33553024/article/details/84783587