快速的实现OLED的驱动,此次OLED采用ssd1306驱动,方式为硬件I2C。
【硬件】
1、HPM5301EVKLite开发板
2、SSD1306
【连接方式】
根据HPM5301EVKLite用户手册,在标准的树莓派接口中,开发板引出了I2C2,其原理图如下:
![image.png image.png](https://static.assets-stash.eet-china.com/forum/202408/03/17226444448190082044v58gqucgcrbeqqo8.png)
因上我把OLED屏的SDA接到J3的第3脚、SCL接到J3的第5脚。
【工程配置】
打开settings,打开I2C,由于配置文件只配置了I2C0与I2C3,所以先选择I2C0生成工程后再去修改rtconfig.h。
![image.png image.png](https://static.assets-stash.eet-china.com/forum/202408/03/172264301542799075655yzv3a4aaau6v04ra.png)
在搜索框输入ssd1306,找到ssd1306的软件包,配置好OLED的地址与I2C编号,打开sample示例。
![image.png image.png](https://static.assets-stash.eet-china.com/forum/202408/03/172264309822653075818jkk2w8zwbepw11rw.png)
保存工程,然后打开rtconfig.h,修改i2c的编号为i2c2。
![image.png image.png](https://static.assets-stash.eet-china.com/forum/202408/03/172264316297315075922qkm2oeroloi1f5f4.png)
保存并编译工程,下载到开发板。
【测试】
在串口终端中执行ssd1306_TestAll,成啦的点亮OLED屏。
![bd375ee909fbdbbd27f4766930ae2b6.jpg bd375ee909fbdbbd27f4766930ae2b6.jpg](https://static.assets-stash.eet-china.com/forum/202408/03/172264352425746080517ph211b1ymb8e97pp.jpg)