【沁恒RISC-V内核 CH582】I2C 点亮OLED屏
[复制链接]
SSD1306是一款OLED驱动芯片,拥有最大128*64像素支持,广泛应用在小尺寸OLED显示屏的驱动中。特别是他的显示低功耗,与CH582M结合在一起做穿戴设备是很好的组合。
这次采用的是摸拟I2C来驱动的。SDA跟SCL配置如下。
GPIOB_SetBits( GPIO_Pin_12 );
GPIOB_SetBits( GPIO_Pin_13 );
GPIOB_ModeCfg( GPIO_Pin_12, GPIO_ModeOut_PP_20mA ); //SDA
GPIOB_ModeCfg( GPIO_Pin_13, GPIO_ModeOut_PP_20mA ); //SLC
然后驱动是修改我以前的驱动,其实SSD1306网上大把资料:
#define OLED_SCL_Clr() GPIOB_ResetBits(GPIO_Pin_13)//SCL
#define OLED_SCL_Set() GPIOB_SetBits(GPIO_Pin_13)
#define OLED_SDA_Clr() GPIOB_ResetBits(GPIO_Pin_12)//SDA
#define OLED_SDA_Set() GPIOB_SetBits(GPIO_Pin_12)
修改以上这些参数后就成功驱动SSD1306了:
OLED_Init(); //初始化OLED
OLED_ColorTurn(0);//0正常显示,1 反色显示
OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示
OLED_Clear();
mDelaymS(800);
OLED_ShowString(8, 6, "Hello EEWORLD!", 16, 1);
OLED_ShowString(22, 26, "CH582M", 24, 1);
OLED_ShowNum(12, 52, 2022, 4, 12, 1);
OLED_ShowChinese(40,52,9,12,1);//12*12 年
OLED_ShowNum(54, 52, 2, 1, 12, 1);
OLED_ShowChinese(64,52,10,12,1);//12*12 月
OLED_ShowNum(80, 52, 26, 2, 12, 1);
OLED_ShowChinese(94,52,2,12,1);//12*12 日
OLED_Refresh();
工程文件上传如下:
I2C-OLED.7z
(168.22 KB, 下载次数: 114)
|