I2C 协议详解(三)—— RTC PCF8563设备驱动

首先看I2C 写入的波形图:

这里我们要驱动的设备是 NXP 的 PCF8563 RTC 芯片。可以看到芯片的驱动逻辑如下:

  1. 首先发送7位的地址 + 一位的读写位
  2. 发送8 位的寄存器地址
  3. 发送 8 位数据
  4. 根据数据的数量重复第三步
  5. 发送停止位

PCF 8563 的 I2C 地址位 7'b 1010001,加上 1 位的读写位,那么就是

  1. 写入 8'b1010_0010
  2. 读出 8'b1010_0011

根据这些就可以编写完整的 I2C 设备驱动代码了。I2C数据写入函数:

编写测试代码,并用逻辑分析仪测试输出,这是逻辑分析仪的截图:

嗯~ o(* ̄▽ ̄*)o,终于结束了。这样的话代码就好用多了。本篇到这里结束。ヾ(•ω•`)o

原文地址:https://www.cnblogs.com/SummerSunnyDay/p/15036644.html