首先看I2C 寫入的波形圖:
這里我們要驅動的設備是 NXP 的 PCF8563 RTC 芯片。可以看到芯片的驅動邏輯如下:
- 首先發送7位的地址 + 一位的讀寫位
- 發送8 位的寄存器地址
- 發送 8 位數據
- 根據數據的數量重復第三步
- 發送停止位
PCF 8563 的 I2C 地址位 7'b 1010001,加上 1 位的讀寫位,那么就是
- 寫入 8'b1010_0010
- 讀出 8'b1010_0011
根據這些就可以編寫完整的 I2C 設備驅動代碼了。I2C數據寫入函數:
編寫測試代碼,並用邏輯分析儀測試輸出,這是邏輯分析儀的截圖:
嗯~ o(* ̄▽ ̄*)o,終於結束了。這樣的話代碼就好用多了。本篇到這里結束。ヾ(•ω•`)o