美文网首页
IO模拟I2C_190128

IO模拟I2C_190128

作者: ppzbreeze | 来源:发表于2019-01-28 16:46 被阅读0次

转自软件模拟I2C

配置流程

1、设置 GPIO 管脚

设置两个管脚作为 SCL 和 SDA,例如 GPIOA1 和 GPIOA2

image

2、SCL时钟周期

image

3、附加设置

这里主要是使用宏定义模拟函数

image

4、I2C 启动

image

5、I2C停止

image

6、发送 8 位数据,返回值为从响应 ACK 标志

image

7、接收 8 位数据

image

操作实例

以下代码为通过调用上面的基本代码来实现 I2C 通信

1、设置 DAC 寄存器的值

三个参数分比为从机地址,寄存器地址,8 位数据

image

2、读取 DAC 寄存器的值

两个参数分别为从机地址,寄存器地址,返回数据为 16 位。这是由于某些器件的硬件设计,采用 7 位表示寄存器地址,而每个寄存器包含 9 位数据。更常见的方式为 8 位寄存器地址,一个寄存器 8 位数据,这种方式的代码仅返回 8 位数据,见代码 2。

代码 1,返回 16 位数据,不常见

image

代码 2,返回 8 位数据

image

相关文章

网友评论

      本文标题:IO模拟I2C_190128

      本文链接:https://www.haomeiwen.com/subject/zonajqtx.html