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。 |