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

结构体

app_i2c_pin_t

结构体定义如下:

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

结构体定义如下:

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

结构体定义如下:

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

dma_reg_t *tx_dma_instance

I2C TX指定DMA模块配置

参考app_dma_params_t 章节中,DMA支持的外设

dma_reg_t *rx_dma_instance

I2C RX指定DMA模块配置

参考app_dma_params_t 章节中,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

结构体定义如下:

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

app_i2c_id_t id

I2C模块ID

  • 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)

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

结构体定义如下:

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

结构体定义如下:

表 144 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已接收/发送的数据长度

说明:

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

I2C错误号:
  • 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

扫描关注

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