测试血氧传感器需要显示出来,总不能用串口好吧。所以找了常用的4线I2C接口的0.96寸OLED显示屏。因为时常用的,所以很多处理是直接拷贝过来的。接口部分的SCL和SDA是打算用P0_16、P0_17的,处理代码参照FTHR_I2C例程。
满以为应该不是问题,结果碰壁了,调试了好长时间,也用逻辑分析仪捕捉了通讯时序波形,始终没有找到问题所在。于是专为软件模拟操作,使用P2_3和P2_4这两个GPIO口。
终于调通了OLED的显示驱动。软件模拟的时候,忽略了ACK信号。
在此基础上有重新改回硬件I2C方式,依旧不行。数据、指令通过逻辑分析仪都发过去了,屏幕就是没有变化。不知道是不是硬件I2C的设置上有什么纰漏造成的,算了先这样吧,能显示数据就好。