标题: CH579M-R1驱动单色OLED屏显示 [打印本页]
作者: jinglixixi 时间: 2020-9-13 08:51
标题: CH579M-R1驱动单色OLED屏显示
虽然该开发板配置了I2C接口,但遗憾的是它与OLED屏的引脚排列不一致,因此也就无法直接将OLED屏插到I2C接口来使用。既然无法使用该接口,那么在连接OLED屏的时候也就无需再考虑引脚的分配,逮着那个随意用就是了,只要不产生冲突即可。
图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 汉字显示
作者: 4593989twb 时间: 2023-7-12 12:56
楼主能否给个完整的代码?包含OLED 的I2C 驱动的代码
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |