12. I2C通讯

您所在的位置:网站首页 i2c速率跟哪些参数有关 12. I2C通讯

12. I2C通讯

2024-05-08 07:46| 来源: 网络整理| 查看: 265

12.7.3. 代码分析¶

代码结构如下:

oled_app.c 的函数如下

oled_app.h¶ 1 2#define OLED_COMMEND_ADDR 0x00 #define OLED_DATA_ADDR 0x40

reg = 0x00, 表示发送的是命令,更准确的说是OLED配置参数、控制参数。reg = 0x40, 表示发送的是数据。 val , 指定要发送的内容。

函数实现分为两部分。第一部分,将函数入口参数保存到局部变量 data[] 数组中,便于后面执行发送,调用ioctl 函数设置 IIC 从地址既oled 的地址,当oled检测到与自己对应的 地址时就会响应,这时就可通信了。 oled 地址定义如下所示:

main.c¶ 1#define Address 0x3c //通过调整0R电阻,屏可以0x78和0x7A两个地址 -- 默认0x78

野火 oled 显示屏默认的IIC从地址为0X78,通过调整电阻可以设置为0X7A,需要注意的是,这里的地址是8位地址,最后一位表示的是读或者写。而我们这里要发送的是IIC设备的 7位地址,如上代码所示,我们在宏定义中设置的IIC 地址是由0x78 左移一位得到的。

全屏填充函数OLED_Fill,全屏填充函数和清屏函数相似,全屏填充函数点亮每一个像素点而清屏函数熄灭每一个像素点,在程序中前者是写入0xff,后者写入0x00, 函数实现如下所示:

oled填充–oled_app.c¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16void OLED_Fill(unsigned char addr,unsigned char fill_Data) //全屏填充 { unsigned char m, n; for (m = 0; m


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3