I2C通信 读写数据过程
来源:互联网 发布:linux安装usb网卡驱动 编辑:程序博客网 时间:2024/05/20 04:31
在通信之初,主从机必须根据自己的要求约定好通信规则:command的定义和位置、address的位数和位置。
以读写从机寄存器数据为例:
假设从机寄存器地址为8位、从机寄存器也位8位(被读取数据为8位);
约定读command为0x01,写command位0x02;
约定主机发起通信后,第一个slave address字节收到ack后,紧跟的一个字节为command,再下面一个字节为address。
1. 读寄存器数据步骤:
1.1 主机先发起一次通信,将读command(0x01)和需要读取的寄存器地址address写入从机;(主机发出写操作)
1.2 从机firmware的处理:
1.2.1 将command和address分别提取出来;
1.2.2 判断command的含义(本例中,是读指令还是写指令);
1.2.3 根据收到的的address,将对应寄存器的的数据放入从机I2C输出buffer;(这个步骤可以使用指针)
1.3 主机再次发起一次通信,读取从机的数据;(主机发出读操作)
2. 写操作步骤:
2.1 主机发起通信,按约定依次写入command、要写入的从机寄存器地址address和要写入的数据data;
2.2 从机firmware要做的处理:
2.2.1 分别提取command、address和data;
2.2.2 根据command做出判断(本例中则判断是写入还是读取);
2.2.3 将data写入与接收到的address对应的寄存器。(这个步骤可以使用指针)。
- I2C通信 读写数据过程
- I2C通信 读写数据过程
- I2C通信 读写数据过程
- HDFS读写数据过程
- I2C 通信
- i2c通信
- HDFS数据的读写过程
- 串行通信i2c总线协议简明教程(连接方式,读写时序,24CXX系列EEPROM)
- (一)基于STM32f103的I2C通信接口的EPPROM模块(24C256)读写程序详解
- (二)基于STM32f103的I2C通信接口的EPPROM模块(24C256)读写程序详解
- linux I2C读写实例
- 中断与I2C读写
- 继续I2C读写
- 自定义i2c读写函数
- STM32 I2C读写
- 重写I2c 读写AT24C01
- STM32 I2C读写
- I2c读写地址
- 每天进步一点点
- “复旦602” 电子数字计算机
- chattr命令
- VBscript 中库函数的使用练习
- hadoop2.2.0安装与启动
- I2C通信 读写数据过程
- C/C++ 初学简单笔记 —1—
- 数据库同一张表字段横向与纵向相加
- 演练Ext JS 4.2自定义主题
- [遇到的问题]ubuntu 用wget下载ftp时,报端口号错误
- IOS KVO,NSKeyValueObservance: Observer:, Key path:, Options:
- Kruskal 最小生成树
- CodeForces 208A/D 18周周赛
- Mysql创建用户并为用户分配数据库中多表不是全部表权限