代码如下,阅读能力强看代码就行,经测试可用。
链接:https://pan.baidu.com/s/1IRkNfHerEdfChoULzhUsQw?pwd=8888
提取码:8888
一、硬件IIC
见配置
核心代码:
oled.c
HAL_StatusTypeDef OLED_WR_Byte(u8 dat,u8 mode)
{
HAL_StatusTypeDef i;
if(mode)
{
i=HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x40,I2C_MEMADD_SIZE_8BIT,&dat,1,0x100);
}
else
{
i=HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x00,I2C_MEMADD_SIZE_8BIT,&dat,1,0x100);
}
return i;
}
void OLED_Refresh(void)
{
u8 i=0,n;
for(i=0;i<8;i++)
{
OLED_WR_Byte(0xb0+i,OLED_CMD);
OLED_WR_Byte(0x00,OLED_CMD);
OLED_WR_Byte(0x10,OLED_CMD);
for(n=0;n<128;n++)
{
OLED_WR_Byte(OLED_GRAM[n][i],OLED_DATA);
}
}
}
其他部分与软件IIC相同。
二、DS1302时钟、DHT11温湿度
(比较简单看源码)