嵌入式技术william hill官网
直播中

siyugege

9年用户 767经验值
擅长:可编程逻辑
私信 关注
[经验]

基于RT-Thread OS使用硬件IIC来驱动OLED屛

1、硬件IIC0驱动OLED显示中文

  OLED作为显示屏是单片机上比较常用的,因为价格便宜,驱动简单,我手头正好有IIC驱动的OLED,本文将说明如何使用硬件IIC来驱动OLED。虽然软件IIC也可以驱动,但是IIC效率较低,硬件IIC驱动OLED可以减轻CPU负担。
  本文将在上一篇文章的基础上开发,也就是基于RT-Thread OS开发,RT-Thread集成了I2C,但是只支持软件IIC,使用硬件IIC还需要我们自己编写驱动。
  本文实现如下功能:
  使用硬件IIC驱动OLED;
  OLED显示中文
  本帖是基于RT-Thread开发的,其中用到了RT-Thread相关的一些函数的重封装,比如rt_sprintf,rt_strcmp等,可以增加执行效率,C语言支持的sprintf与strcmp执行效率相对较低,如果没有使用RT-Thread,可以直接使用C语言标准库的函数进行替换
  硬件连接
  通过查看数据手册,我们可以知道引脚的复用关系,通过了解,硬件IIC支持IIC0,IIC1,IIC2,本文将使用IIC0来实现。
  IIC0复用引脚
  通过下图可知,IIC0复用到了PB6,PB7或者PB8,PB9。
  因为PB6,PB7已经用做了串口使用,所以我们使用PB8,PB9来作为IIC0的SCL与SDA。
2.jpg

硬件IIC0驱动OLED显示中文.pdf (747.3 KB)
(下载次数: 2, 2022-12-14 16:52 上传)


原作者:hehung

更多回帖

发帖
×
20
完善资料,
赚取积分