复用FM33LG0系列开发板上J3引出的IIC点亮OLED屏,FM33LG0系列开发板IO全部都有引出来,还是非常的灵活的,需要什么接口就接对应的接口。
1、先看原理图:
IIC在MCU的17脚 18脚上,17脚是SCL,18脚是SDA。

OLED原理图:

我的屏是黄蓝色的,可以双色显示。
下图为杜绑线接连图:

四条线分别代表紫色是电源,白色是地,绿色是SCL,蓝色为SDA。
2.代码:
初始:
FL_GPIO_InitTypeDef GPIO_InitStruct;
FL_I2C_MasterMode_InitTypeDef I2C_InitStruct;
FL_GPIO_StructInit(&GPIO_InitStruct);
GPIO_InitStruct.pin = FL_GPIO_PIN_11 | FL_GPIO_PIN_12;
GPIO_InitStruct.mode = FL_GPIO_MODE_DIGITAL;
GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.pull = FL_DISABLE;
FL_GPIO_Init(GPIOA, &GPIO_InitStruct);
I2C_InitStruct.clockSource = FL_CMU_I2C_CLK_SOURCE_APBCLK;
I2C_InitStruct.baudRate = 400000;
FL_I2C_MasterMode_Init(I2C, &I2C_InitStruct);
清屏:
uint8_t z = 0, i = 0;
for(i = 0; i < 8; i++)
{
OLED1_SetPosition(0, i);
for(z = 0; z< 128; z++)
{
OLED1_WriteDAT(Data);
}
}
``显示:
OLED1_DrawImage(64, 64, Clock);
3.显示照片:

|