與其他的開發板不同,在HC32F460開發板上配置了小巧別致的I2C接口OLED屏。 有了它,我們需要顯示的數據和信息就不必完全借助于串口通信了! 好像是華大要測試測評者的水平,盡管開發板配置了OLED顯示屏,但在例程中卻沒有提供相應的程序支持。 好在要驅動它并不難,所做的無非是兩件事,一是了解GPIO口的使用方法,將SDA和SCL引腳設置為輸出口, 然后定義好輸出高低電平的語句,來對OLED屏廠商的例程加以銜接;另一件事就是配置相應的延時函數, 以控制OLED屏的時序要求。 此外,為了在OLED屏上實現漢字顯示功能,可使用相應的字模提取軟件來獲得所需用到的字模, 以構建專用的小字庫。字模的提取過程參見圖1所示。
1.jpg (61.67 KB, 下載次數: 58)
下載附件
2020-9-25 11:49 上傳
圖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.jpg (35.77 KB, 下載次數: 59)
下載附件
2020-9-25 11:49 上傳
圖2 顯示效果1
3.jpg (34.35 KB, 下載次數: 47)
下載附件
2020-9-25 11:49 上傳
圖3 顯示效果2
其實在得到HC32F460開發板前,自己就購置了多種類型的OLED屏,如雙色屏,彩色屏等,按接口類型又有I2C接口的及SPI接口的。 受引腳的制約,手頭只有一款灰色的顯示屏可與開發板匹配,其顯示效果見圖4所示。
4.jpg (32.37 KB, 下載次數: 67)
下載附件
2020-9-25 11:49 上傳
圖4 顯示效果3
|