问题:
最近在研究硬件和软件I2C与oled屏幕通信的过程,发现有时候代码写的没有问题但总是会出现烧录完成后,32过了好久才进入while循环,也就是出现了延迟。并且发现oled屏幕失效,无法正确显示内容。
解决方法:
经过不断试错分析后发现,出现这种错误情况分为两种情况:
①软件I2C:Ⅰ可能忘记使用初始化OLED屏幕的函数了
Ⅱ可能忘记对引脚进行初始化了
②硬件I2C:出现这种情况有很大可能是编译器的问题,此时编译器似乎不能把在main.h里的i2c.h引到oled.c里,需要手动在oled.c里添加一句
#include "i2c.h"
即可解决问题。