CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

结构体

app_i2c_pin_t

结构体定义如下:

表 134 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

结构体定义如下:

表 135 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

结构体定义如下:

表 136 app_i2c_dma_cfg_t结构体成员
成员 描述 取值

dma_reg_t *tx_dma_instance

I2C TX指定DMA模块配置

GR5526:
  • DMA0
  • DMA1

具体选择参考app_dma_params_t 章节中,DMA0/DMA1支持的外设

GR551x:
  • DMA

dma_reg_t *rx_dma_instance

I2C RX指定DMA模块配置

GR5526:
  • DMA0
  • DMA1

具体选择参考app_dma_params_t 章节中,DMA0/DMA1支持的外设

GR551x:
  • DMA

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

结构体定义如下:

表 137 app_i2c_params_t结构体成员
成员 描述 取值

app_i2c_id_t id

设置使用的I2C模块ID

GR5526:
  • APP_I2C_ID_0(I2C 0)
  • APP_I2C_ID_1(I2C 1)
  • APP_I2C_ID_2(I2C 2)
  • APP_I2C_ID_3(I2C 3)
  • APP_I2C_ID_4(I2C 4)
  • APP_I2C_ID_5(I2C 5)
GR551x:
  • APP_I2C_ID_0(I2C 0)
  • APP_I2C_ID_1(I2C 1)

app_i2c_role_t role

配置I2C的工作方式

该参数的取值可以是下列值中的任意一个:
  • APP_I2C_ROLE_MASTER(I2C配置为Master)
  • APP_I2C_ROLE_SLAVE(I2C配置为Slave)

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

结构体定义如下:

表 138 i2c_init_t结构体成员
成员 描述 取值

uint32_t speed

I2C传输速率

该参数的取值可以是下列值中的任意一个:
  • I2C_SPEED_100K(100 KHz, standard mode)
  • I2C_SPEED_400K(400 KHz, fast mode)
  • I2C_SPEED_1000K(1000 KHz, fast plus mode)
  • I2C_SPEED_2000K(2000 KHz, high-speed mode)

uint32_t own_address

配置I2C的地址

作为Master主设备时,该参数无意义;作为Slave从设备时,由用户指定配置

uint32_t addressing_mode

I2C地址模式

该参数的取值可以是下列值中的任意一个:
  • I2C_ADDRESSINGMODE_7BIT(7 bits地址)
  • I2C_ADDRESSINGMODE_10BIT(10 bits地址)

uint32_t general_call_mode

通用广播模式

该参数的取值可以是下列值中的任意一个:
  • I2C_GENERALCALL_DISABLE(不使能)
  • I2C_GENERALCALL_ENABLE(使能)

uint32_t tx_hold_time

TX SDA保持时间,以ns为单位

uint32_t rx_hold_time

RX SDA保持时间,以ns为单位

app_i2c_evt_t

结构体定义如下:

表 139 app_i2c_evt_t结构体成员
成员 描述 取值

app_i2c_evt_type_t type

I2C事件类型

该参数的取值可以是下列值中的任意一个:
  • APP_I2C_EVT_ERROR(I2C传输错误)
  • APP_I2C_EVT_TX_CPLT(I2C发送完成)
  • APP_I2C_EVT_RX_DATA(I2C接收完成)
  • APP_I2C_ABORT(I2C传输中止)

union

{

uint32_t error_code;

uint16_t size;

}data;

  • uint32_t error_code:I2C事件返回的错误号
  • uint16_t size:I2C已接收/发送的数据长度

说明:

若事件类型为传输错误,此处返回错误ID;若事件类型为接收/发送完成,此处显示已接收/发送的数据长度

I2C错误ID号:
  • HAL_I2C_ERROR_NONE(无错误)
  • HAL_I2C_ERROR_INVALID_PARAM(无效参数)
  • HAL_I2C_ERROR_ARB_LOST(仲裁丢失)
  • HAL_I2C_ERROR_NOACK(无回应)
  • HAL_I2C_ERROR_OVER(RX溢出)
  • HAL_I2C_ERROR_SCL_STUCK_AT_LOW(SCL 被强制拉低)
  • HAL_I2C_ERROR_SDA_STUCK_AT_LOW(SDA 被强制拉低)
  • HAL_I2C_ERROR_DMA(DMA错误)
  • HAL_I2C_ERROR_TIMEOUT(超时)

uint16_t slave_addr

I2C从设备地址

详细信息请参考文件:SDK_Folder\drivers\inc\app_i2c.h

扫描关注

打开微信,使用“扫一扫”即可关注。