1.首先,需要移植一份oled.c与oled.h文件
注意:移植的文件里要包含iic通信的函数与oled的显示函数
2.在移植的.h文件里define iic_scl/sda的定义里找到最后面的gpio_write函数 函数里面的引脚就是scl与sda分别对应的引脚。
这两个引脚是自己选择的 只需要在配置cubemx时选中两个引脚作为gpio输出模式 即可 具体配置为:
然后在检查过上述地方后,即可在main.c中调用oled.c中的oled显示函数即可。
今天在移植结束后,出现了一个问题,就是oled有一个侧边出现乱码显示,即噪点。发现在改变这个函数后噪点消失。
void OLED_Clear(void)
{
unsigned char i,n;
for(i=0;i<8;i++)
{
OLED_WR_Byte (0xb0+i,OLED_CMD); //设置页地址(0~7)
#if(!OLEDTYPE1106)//SSDC1306
OLED_WR_Byte (0x00,OLED_CMD); //设置显示位置—列低地址
#else//SH1106
OLED_WR_Byte (0x00,OLED_CMD); //设置显示位置—列低地址
#endif
OLED_WR_Byte (0x10,OLED_CMD); //设置显示位置—列高地址
for(n=0;n<128;n++)OLED_WR_Byte(0,OLED_DATA);
} //更新显示
}
OLED_WR_Byte (0x00,OLED_CMD);中之前的参数不是0x00,改成0x00后噪点消失。
谢谢观看 欢迎讨论