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...
基于STM32G474的0.96寸OLED(SSD1306)显示屏驱动程序(4针脚I2C接口),支持硬件IIC/软件IIC,HAL库版。 这款驱动程序比较完善,可以实现 英文、整数、浮点数、汉字、图像、二进制数、十六进制数 等内容显示,可以…
OLED_WriteByte(0X07,OLED_CMD); // 页终止地址 7 } 3.3 发送数据到OLED HAL_I2C_Mem_Write...
OLED_WR_CMD (uint8_tcmd){HAL_I2C_Mem_Write(&hi2c2, 0x78, 0x00, I2C_MEMADD_SIZE_8BIT, &cmd, 1, 0x100);} OLED_WR_DATA (uint8_tdata){HAL_I2C_Mem_Write(&hi2c2, 0x78, 0x40, I2C_MEMADD_SIZE_8BIT, &data, 1, 0x100);} OLED_Clear (void){uint8_t i, n;for (i = 0...
extern I2C_HandleTypeDef hi2c1;HAL_I2C_Mem_Write(&hi2c1, OLED_ADDRESS, addr, I2C_MEMADD_SIZE...
STM32—OLED(0.96)IIC 1#include"stm32f1xx_hal.h"2#include"OLED.h"3#include"oledfont.h"4#include"stdint.h"5#include"i2c.h"67voidWriteCmd(unsignedcharI2C_Command)//写命令8{910HAL_I2C_Mem_Write(&hi2c1,OLED0561_ADD,COM,I2C_MEMADD_SIZE_8BIT,&I2C_Command,1,100);1112}13voidWriteDat(...
基于STM32G474的0.96寸OLED(SSD1306)显示屏驱动程序(4针脚I2C接口),支持硬件IIC/软件IIC,HAL库版。 这款驱动程序比较完善,可以实现 英文、整数、浮点数、汉字、图像、二进制数、十六进制数 等内容显示,可以画点、直线、矩形、圆、椭圆、三角形等,支持多种字体,差不多相当于一个简易版图形库了。
所以可以得出OLED的器件地址: 写地址:0x78 读地址:0x79 二、编写写数据和写命令函数 写命令函数 这里调用了HAL库自带的HAL_I2C_Mem_Write函数来写命令和写数据。 我们需要参照数据手册中的I2C-bus Write data这一小节来编写函数。 根据数据手册可知:
HAL_I2C_Mem_Write() IIC写固定的设备写入数据。 记得导入#include "i2c.h" 将HAL_I2C_Mem_Write函数放入oled.c中。 例如将Write_IIC_Command函数修改为HAL_I2C_Mem_Write发送方式。 向0x78设备写命令0x00的IIC_Command指令。 /*** // IIC Write Command ***/ void Write_IIC_Command(unsigned char...