雖然該開發板配置了I2C接口,但遺憾的是它與OLED屏的引腳排列不一致,因此也就無法直接將OLED屏插到I2C接口來使用。既然無法使用該接口,那么在連接OLED屏的時候也就無需再考慮引腳的分配,逮著那個隨意用就是了,只要不產生沖突即可。
1.jpg (20.67 KB, 下載次數: 88)
下載附件
2020-9-13 08:46 上傳
圖1 字符顯示
程序中所用的連接關系為: SCLK---PB0 SDIN---PB1
定義引腳輸出高低電平的語句為: #define OLED_SCLK_Set() GPIOB_SetBits( GPIO_Pin_0 ) //PB0 #define OLED_SCLK_Clr() GPIOB_ResetBits( GPIO_Pin_0 ) #define OLED_SDIN_Set() GPIOB_SetBits( GPIO_Pin_1 ) // PB1 #define OLED_SDIN_Clr() GPIOB_ResetBits( GPIO_Pin_1 )
定義引腳功能做輸出的函數是: - void LCD_GPIO_Cogfig(void)
- {
- GPIOB_ModeCfg( GPIO_Pin_0, GPIO_ModeOut_PP_5mA );
- GPIOB_ModeCfg( GPIO_Pin_1, GPIO_ModeOut_PP_5mA );
- }
復制代碼
實現演示效果的主程序為: - int main()
- {
- GPIOB_ModeCfg( GPIO_Pin_3, GPIO_ModeOut_PP_5mA );
- mDelaymS(100);
- OLED_Init();
- OLED_Clear();
- OLED_ShowString(0,0,"CH579M TEST",16);
- OLED_ShowString(0,2,"OLED Display",16);
- OLED_ShowString(0,4,"jinglixixi",16);
- OLED_ShowString(0,6,"2020.9.10",16);
- OLED_ShowCHinese(0,2,0);
- OLED_ShowCHinese(16,2,1);
- OLED_ShowCHinese(32,2,2);
- OLED_ShowCHinese(48,2,3);
- OLED_ShowCHinese(64,2,4);
- OLED_ShowCHinese(0,4,5);
- OLED_ShowCHinese(16,4,6);
- OLED_ShowCHinese(32,4,7);
- OLED_ShowCHinese(48,4,8);
- OLED_ShowCHinese(64,4,9);
- while(1)
- {
- GPIOB_SetBits( GPIO_Pin_3 );
- mDelaymS( 500 );
- GPIOB_ResetBits( GPIO_Pin_3 );
- mDelaymS( 500 );
- }
- }
復制代碼
2.jpg (18.3 KB, 下載次數: 90)
下載附件
2020-9-13 08:46 上傳
圖2 漢字顯示
|