结构体
app_i2c_pin_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
app_io_type_t type |
设置IO类型 |
同app_io_evt_t结构体中描述 |
app_io_mux_t mux |
设置IO映射功能 |
查看app_io_init_t结构体定义,具体取值参考芯片Datasheet中的Pin Mux |
uint32_t pin |
选择IO引脚 |
查看app_io_init_t结构体定义,具体取值参考芯片Datasheet中的Pin Mux |
app_io_pull_t pull |
设置IO上拉/下拉/浮空 |
同app_io_init_t结构体中描述 |
详细信息请参考文件:SDK_Folder\drivers\inc\app_i2c.h。
app_i2c_pin_cfg_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
app_i2c_pin_t scl |
I2C SCL引脚配置 |
参考app_i2c_pin_t结构体 |
app_i2c_pin_t sda |
I2C SDA引脚配置 |
参考app_i2c_pin_t结构体 |
详细信息请参考文件:SDK_Folder\drivers\inc\app_i2c.h。
app_i2c_dma_cfg_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
dma_reg_t *tx_dma_instance |
I2C TX指定DMA模块配置 |
GR5526:
具体选择参考app_dma_params_t 章节中,DMA0/DMA1支持的外设 GR551x:
|
dma_reg_t *rx_dma_instance |
I2C RX指定DMA模块配置 |
GR5526:
具体选择参考app_dma_params_t 章节中,DMA0/DMA1支持的外设 GR551x:
|
dma_channel_t tx_dma_channel |
I2C TX的DMA通道选择 |
同app_dma_params_t中通道描述 |
dma_channel_t rx_dma_channel |
I2C RX的DMA通道选择 |
同app_dma_params_t中通道描述 |
详细信息请参考文件:SDK_Folder\drivers\inc\app_i2c.h。
app_i2c_params_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
app_i2c_id_t id |
设置使用的I2C模块ID |
GR5526:
GR551x:
|
app_i2c_role_t role |
配置I2C的工作方式 |
该参数的取值可以是下列值中的任意一个:
|
app_i2c_pin_cfg_t pin_cfg |
I2C引脚功能设置 |
参考app_i2c_pin_cfg_t结构体 |
app_i2c_dma_cfg_t dma_cfg |
I2C操作模式 |
参考app_i2c_dma_cfg_t结构体 |
i2c_init_t init |
I2C初始化参数配置 |
参考i2c_init_t结构体 |
i2c_env_t i2c_dev |
仅用于记录初始化设备的句柄、相关参数和信号量等,不需要配置 |
详细信息请参考文件:SDK_Folder\drivers\inc\app_i2c.h。
i2c_init_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
uint32_t speed |
I2C传输速率 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t own_address |
配置I2C的地址 |
作为Master主设备时,该参数无意义;作为Slave从设备时,由用户指定配置 |
uint32_t addressing_mode |
I2C地址模式 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t general_call_mode |
通用广播模式 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t tx_hold_time |
TX SDA保持时间,以ns为单位 |
|
uint32_t rx_hold_time |
RX SDA保持时间,以ns为单位 |
app_i2c_evt_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
app_i2c_evt_type_t type |
I2C事件类型 |
该参数的取值可以是下列值中的任意一个:
|
union { uint32_t error_code; uint16_t size; }data; |
说明: 若事件类型为传输错误,此处返回错误ID;若事件类型为接收/发送完成,此处显示已接收/发送的数据长度 |
I2C错误ID号:
|
uint16_t slave_addr |
I2C从设备地址 |
详细信息请参考文件:SDK_Folder\drivers\inc\app_i2c.h。