基于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...
extern I2C_HandleTypeDef hi2c1;HAL_I2C_Mem_Write(&hi2c1, OLED_ADDRESS, addr, I2C_MEMADD_SIZE...
选择OLED驱动方式,默认使用硬件I2C。如果要用软件I2C就将硬件I2C那行的宏定义注释掉,将软件I2C那行的注释取消。 不能同时两个都同时取消注释! 在stm32cubemx中初始化时需要将SCL和SDA引脚的"user lable"分别设置为I2C3_SCL和I2C3_SDA。 */#define OLED_USE_HW_I2C// 硬件I2C//#define OLED_USE_SW_I2C /...
基于STM32G474的0.96寸OLED(SSD1306)显示屏驱动程序(4针脚I2C接口),支持硬件IIC/软件IIC,HAL库版。 这款驱动程序比较完善,可以实现 英文、整数、浮点数、汉字、图像、二进制数、十六进制数 等内容显示,可以画点、直线、矩形、圆、椭圆、三角形等,支持多种字体,差不多相当于一个简易版图形库了。
OLED_WriteByte(0X07,OLED_CMD); // 页终止地址 7 } 3.3 发送数据到OLED HAL_I2C_Mem_Write...
{ extern I2C_HandleTypeDef hi2c1; HAL_I2C_Mem_Write(&hi2c1, OLED_ADDRESS, addr, I2C_MEMADD_SIZE_8BIT, &data, 1, 10); } /** * *** * @brief 写命令函数 * @param[in] cmd 写入的命令 * *** */ void WriteCmd(unsigned char cmd) { I2C_Write...
0xAF:在正常模式下打开显示,启动OLED屏幕的显示功能。这些命令被组织成一个数组CMD_Data[],并通过一个名为WriteCmd()的函数逐个发送到SSD1306的寄存器中。在初始化过程中,我们还需要确保I2C2硬件接口已经正确配置并启用,以便与SSD1306进行数据交换。0x10);} OLED_WR_CMD (uint8_tcmd){HAL_I2C_Mem_Write(&...
根据OLED的原理图我们可以得知D/C接到了GND所以SA0 = 0。 R/W位:当要写数据时这一位是0,当要读数据时这一位是1。 所以可以得出OLED的器件地址: 写地址:0x78 读地址:0x79 二、编写写数据和写命令函数 写命令函数 这里调用了HAL库自带的HAL_I2C_Mem_Write函数来写命令和写数据。 我们需要参照数据手册中...