基于STM32G474的0.96寸OLED(SSD1306)显示屏驱动程序(4针脚I2C接口),支持硬件IIC/软件IIC,HAL库版。 这款驱动程序比较完善,可以实现 英文、整数、浮点数、汉字、图像、二进制数、十六进制数 等内容显示,可以…
HAL_I2C_Master_Transmit(&hi2c1, OLED_ADDRESS, sendbuffer, 2, HAL_MAX_DELAY); // 确定地址,进行发送 } void OLED_Init() { OLED_SendCmd(0xAE); /*关闭显示 display off*/ OLED_SendCmd(0x20); OLED_SendCmd(0x10); OLED_SendCmd(0xB0); OLED_SendCmd(0xC8); OLED_SendCmd(0x00); OLED...
OLED.c文件里,将#define OLED_USE_SW_I2C注释掉,将#define OLED_USE_HW_I2C取消注释,如果你用的是别的引脚作为I2C引脚,并且定义了别的名字那就将代码里的I2C3_SCL和I2C3_SDA也改一下。 软件I2C STM32CubeMX配置,设置两个引脚作为I2C的SCL和SDA信号线,修改IO口的User Lable分别为I2C3_SCL和I2C3_SDA,如果...
根据OLED的原理图我们可以得知D/C接到了GND所以SA0 = 0。 R/W位:当要写数据时这一位是0,当要读数据时这一位是1。 所以可以得出OLED的器件地址: 写地址:0x78 读地址:0x79 二、编写写数据和写命令函数 写命令函数 这里调用了HAL库自带的HAL_I2C_Mem_Write函数来写命令和写数据。 我们需要参照数据手册中...
所以可以得出OLED的器件地址: 写地址:0x78 读地址:0x79 二、编写写数据和写命令函数 写命令函数 这里调用了HAL库自带的HAL_I2C_Mem_Write函数来写命令和写数据。 我们需要参照数据手册中的I2C-bus Write data这一小节来编写函数。 根据数据手册可知:
信号输出:I2C数字输出 温度测量范围:-40~125°C 温度测量精度±0.3 °C 湿度测量范围:0~100%RH 湿度测量精度±3% 能耗:3.2uW(8位测量,1次/秒) SHT20在采样时有两种工作模式:hold master模式和no hold master模式,具体采用哪种模式由命令决定。...
//oled.h中声明 extern I2C_HandleTypeDef hi2c1; oled.c中添加对象初始化: //oled.c中初始化 I2C_HandleTypeDef hi2c1; 使用HAL库函数替换模拟IIC函数 oled.c修改如下: /*** // IIC Write Command ***/ void Write_IIC_Command(unsigned char...
extern I2C_HandleTypeDef hi2c1;HAL_I2C_Mem_Write(&hi2c1, OLED_ADDRESS, addr, I2C_MEMADD_SIZE...
{45HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x40,I2C_MEMADD_SIZE_8BIT,&data,1,0x100);46}4748//OLED全屏填充49voidOLED_Fill(uint8_t fill_Data)50{51uint8_t m,n;52for(m=0;m<8;m++)53{54OLED_WR_CMD(0xb0+m);//page0-page155OLED_WR_CMD(0x00);//low column start address56OLED_WR_...