标题: HC32F460开发板OLED屏显示驱动 [打印本页]

作者: jinglixixi    时间: 2020-9-25 11:51
标题: HC32F460开发板OLED屏显示驱动
与其他的开发板不同,在HC32F460开发板上配置了小巧别致的I2C接口OLED屏。
有了它,我们需要显示的数据和信息就不必完全借助于串口通信了!
好像是华大要测试测评者的水平,尽管开发板配置了OLED显示屏,但在例程中却没有提供相应的程序支持。
好在要驱动它并不难,所做的无非是两件事,一是了解GPIO口的使用方法,将SDA和SCL引脚设置为输出口,
然后定义好输出高低电平的语句,来对OLED屏厂商的例程加以衔接;另一件事就是配置相应的延时函数,
以控制OLED屏的时序要求。
此外,为了在OLED屏上实现汉字显示功能,可使用相应的字模提取软件来获得所需用到的字模,
以构建专用的小字库。字模的提取过程参见图1所示。

图1 提取字模

在如下的主程序控制下,可见到图2和图3的显示效果。
  1. int32_t main(void)
  2. {
  3.          SysClkIni();
  4.          OLED_Init();
  5.          Delay_ms(100);
  6.          OLED_Clear();
  7.          OLED_ShowString(0,0,"HC32F460",16);
  8.          OLED_ShowString(0,2,"OLED TEST",16);
  9.          OLED_ShowCHinese(72,0,0);
  10.          OLED_ShowCHinese(88,0,1);
  11.          OLED_ShowCHinese(104,0,2);
  12.         
  13.          Delay_m (5000);
  14.          OLED_Clear();
  15.          OLED_ShowCHinese(0,0,3);
  16.          OLED_ShowCHinese(16,0,4);
  17.          OLED_ShowCHinese(32,0,5);
  18.          OLED_ShowCHinese(48,0,6);
  19.          OLED_ShowCHinese(64,0,7);
  20.          OLED_ShowCHinese(0,2,8);
  21.          OLED_ShowCHinese(16,2,9);
  22.          OLED_ShowCHinese(32,2,10);
  23.          OLED_ShowCHinese(48,2,11);
  24.          OLED_ShowCHinese(64,2,12);
  25.          while(1);
  26. }
复制代码

图2 显示效果1


图3 显示效果2

其实在得到HC32F460开发板前,自己就购置了多种类型的OLED屏,如双色屏,彩色屏等,按接口类型又有I2C接口的及SPI接口的。
受引脚的制约,手头只有一款灰色的显示屏可与开发板匹配,其显示效果见图4所示。

图4 显示效果3





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1