STM32——SSD1306驱动的OLED(I2C)

OLED特性

SSD1306是一款单芯片CMOS OLED/PLED驱动器,带有用于有机聚合物发光二极管点阵式图形显示系统的控制器。它由128个段和64个公共区组成。该集成电路是为普通阴极型OLED面板设计的。

SSD1306内置对比度控制、显示RAM和振荡器,减少了外部元件的数量和功耗。它有256步亮度控制。数据/命令通过硬件可选的6800/8000系列兼容并行接口、I2C接口或串行外围接口从通用MCU发送。

实验结果

代码讲解

//写命令

void OLED_WR_CMD(uint8_t cmd)

{

    HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x00,I2C_MEMADD_SIZE_8BIT,&cmd,1,0x100);

}

//写数据

void OLED_WR_DATA(uint8_t data)

{

    HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x40,I2C_MEMADD_SIZE_8BIT,&data,1,0x100);

}

OLED驱动都是配置寄存器,比较固定,和网站上保持一致即可,无需改动。搞懂显示的原理即可。

遇到的问题

  1. Multi Define和undefine一个变量

解决:新建一个的oled.C文件中可以定义变量,main.h中引用oled.h。Oled.h添加oled.c中函数声明。

通过百度网盘分享的文件:I2C
链接:https://pan.baidu.com/s/1XzEotDieUKBgyoQG8FZjHQ?pwd=urv0 
提取码:urv0 
--来自百度网盘超级会员V2的分享

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值