与其他的开发板不同,在HC32F460开发板上配置了小巧别致的I2C接口OLED屏。有了它,我们需要显示的数据和信息就不必完全借助于串口通信了! 好像是华大要测试测评者的水平,尽管开发板配置了OLED显示屏,但在例程中却没有提供相应的程序支持。 好在要驱动它并不难,所做的无非是两件事,一是了解GPIO口的使用方法,将SDA和SCL引脚设置为输出口,然后定义好输出高低电平的语句, 以对OLED屏厂商的例程加以衔接;另一件事就是配置相应的延时函数,以控制OLED屏的时序要求。 此外,为了在OLED屏上实现汉字显示功能,可使用相应的字模提取软件来获得所需用到的字模,以构建专用的小字库。字模的提取过程参见图1所示。 图1 提取字模
在如下的主程序控制下,可见到图2和图3的显示效果。 int32_t main(void)
{
SysClkIni();
OLED_Init();
Delay_ms(100);
OLED_Clear();
OLED_ShowString(0,0,"HC32F460",16);
OLED_ShowString(0,2,"OLED TEST",16);
OLED_ShowCHinese(72,0,0);
OLED_ShowCHinese(88,0,1);
OLED_ShowCHinese(104,0,2);
Delay_m (5000);
OLED_Clear();
OLED_ShowCHinese(0,0,3);
OLED_ShowCHinese(16,0,4);
OLED_ShowCHinese(32,0,5);
OLED_ShowCHinese(48,0,6);
OLED_ShowCHinese(64,0,7);
OLED_ShowCHinese(0,2,8);
OLED_ShowCHinese(16,2,9);
OLED_ShowCHinese(32,2,10);
OLED_ShowCHinese(48,2,11);
OLED_ShowCHinese(64,2,12);
while(1);
}
图2 显示效果1
图3 显示效果2
其实在得到HC32F460开发板前,自己就购置了多种类型的OLED屏,如双色屏,彩色屏等,按接口类型又有I2C接口的及SPI接口的。 受引脚的制约,手头只有一款灰色的显示屏可与开发板匹配,其显示效果见图4所示。 图4 显示效果3
|