1. 程式人生 > >藍芽BLE---DA14683的IIC主機通訊講解

藍芽BLE---DA14683的IIC主機通訊講解

DA14683的IIC主機通訊例程

Date: 2018.12.07

Create: Jim

匯入例程

首先匯入ble_peripheral例程或者pxp_reporter例程

再到以下位置把硬體IIC的巨集定義開啟:

獲取IIC例程原始碼

到以下地址複製程式碼,然後分別做成demo_i2c.c和demo_i2c.h

https://blog.csdn.net/JaLLs/article/details/84873407

把h檔案和c檔案分別複製近以下目錄:

初始化IIC

到main.c檔案中,首先新增標頭檔案:

然後到periph_init函式中新增初始化語句:

到此,IIC驅動就初始化完成了。

Demo_i2c.c檔案講解

修改IIC引腳

在以下位置修改IIC的兩個引腳定義:

修改從機地址

在以下位置修改從機地址:

demo_i2c_init

初始化函式實體如下:

cfg結構體定義了IIC的通訊速率,模式,地址位數,和工作模式。

cfg結構體初始化引數設定完成以後便呼叫hw_i2c_init函式初始化IIC引數。

i2c_write_reg

以下是IIC主機發送資料給從機的函式介面:

第一個形參reg是你要寫進的從裝置的暫存器(說白了就是起始地址)

第二個形參val就是要寫的資料了。

第三個形參len就是寫入的資料長度。

需要研究最終的資料傳送實現方式,可以研究hw_i2c_write_buffer_sync這個函式。

i2c_read_reg

以下是IIC主機讀取從機裝置資料的介面:

第一個形參reg是要讀的從裝置的暫存器(起始地址)

第二個形參val是讀取的資料存放的指標。

第三個形參len就是讀取的資料長度。

需要研究最終的資料讀取實現方式,可以研究hw_i2c_read_buffer_sync這個函式。

到此,我們的IIC主機通訊介紹完畢。