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

I2C驱动API描述

I2C驱动的API主要包括:

表 245 I2C驱动的APIs
API类别 API名称 描述
初始化 hal_i2c_init() 初始化I2C外设,配置传输速度等参数。
hal_i2c_deinit() 反初始化I2C外设。
hal_i2c_msp_init() 初始化I2C外设所使用的GPIO引脚复用、NVIC中断、DMA通道。
hal_i2c_msp_deinit() 反初始化I2C外设所使用的GPIO引脚复用、NVIC中断、DMA通道。
IO操作 hal_i2c_master_transmit() 作为主设备向从设备发送数据,轮询方式。
hal_i2c_master_receive() 作为主设备从从设备接收数据,轮询方式。
hal_i2c_slave_transmit() 作为从设备向主设备发送数据,轮询方式。
hal_i2c_slave_receive() 作为从设备从主设备接收数据,轮询方式。
hal_i2c_mem_write() 向指定的地址写入数据,轮询方式。
hal_i2c_mem_read() 从指定的地址读取数据,轮询方式。
hal_i2c_master_transmit_it() 作为主设备向从设备发送数据,中断方式。
hal_i2c_master_receive_it() 作为主设备从从设备接收数据,中断方式。
hal_i2c_slave_transmit_it() 作为从设备向主设备发送数据,中断方式。
hal_i2c_slave_receive_it() 作为从设备从主设备接收数据,中断方式。
hal_i2c_mem_write_it() 向指定的地址写入数据,中断方式。
hal_i2c_mem_read_it() 从指定的地址读取数据,中断方式。
hal_i2c_master_sequential_transmit_it() 作为主设备发送帧数据,中断方式。
hal_i2c_master_sequential_receive_it() 作为主设备接收帧数据,中断方式。
hal_i2c_slave_sequential_transmit_it() 作为从设备发送帧数据,中断方式。
hal_i2c_slave_sequential_receive_it() 作为从设备接收帧数据,中断方式。
hal_i2c_enable_listen_it() 作为主设备监听信号,中断方式。
hal_i2c_disable_listen_it() 禁用作为主设备监听信号,中断方式。
hal_i2c_master_transmit_dma() 作为主设备向从设备发送数据,DMA方式。
hal_i2c_master_receive_dma() 作为主设备从从设备接收数据,DMA方式。
hal_i2c_slave_transmit_dma() 作为从设备向主设备发送数据,DMA方式。
hal_i2c_slave_receive_dma() 作为从设备从主设备接收数据,DMA方式。
hal_i2c_mem_write_dma() 向指定的地址写入数据,DMA方式。
hal_i2c_mem_read_dma() 从指定的地址读取数据,DMA方式。
hal_i2c_master_abort_it() 中止中断/DMA方式下的数据传输。
中断处理及回调函数 hal_i2c_irq_handler() 中断处理函数。
hal_i2c_master_tx_cplt_callback() 主设备发送完成中断回调函数。
hal_i2c_master_rx_cplt_callback() 主设备接收完成中断回调函数。
hal_i2c_slave_tx_cplt_callback() 从设备发送完成中断回调函数。
hal_i2c_slave_rx_cplt_callback() 从设备接收完成中断回调函数。
hal_i2c_mem_tx_cplt_callback() 写入完成中断回调函数。
hal_i2c_mem_rx_cplt_callback() 读取完成中断回调函数。
hal_i2c_listen_cplt_callback() 监听中断回调函数。
hal_i2c_error_callback() 错误中断回调函数。
hal_i2c_abort_cplt_callback() 中止完成中断回调函数。
状态及错误 hal_i2c_get_state() 获取驱动运行状态。
hal_i2c_get_mode() 获取当前工作模式。
hal_i2c_get_error() 获取错误码。
睡眠相关 hal_i2c_suspend_reg() 睡眠时挂起I2C配置相关的寄存器。
hal_i2c_resume_reg() 唤醒时恢复I2C配置相关的寄存器。

下面章节将对各API进行详细描述。

hal_i2c_init

表 246 hal_i2c_init接口
函数原型

hal_status_t hal_i2c_init(i2c_handle_t *p_i2c)

功能说明

根据i2c_init_t中的指定参数初始化I2C外设和初始化关联句柄。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

HAL状态。

备注

hal_i2c_deinit

表 247 hal_i2c_deinit接口
函数原型

hal_status_t hal_i2c_deinit(i2c_handle_t *p_i2c)

功能说明

反初始化I2C外设。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

HAL状态。

备注

hal_i2c_msp_init

表 248 hal_i2c_msp_init接口
函数原型

void hal_i2c_msp_init(i2c_handle_t *p_i2c)

功能说明

初始化I2C所使用的GPIO引脚复用、NVIC中断、DMA通道等配置。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,开发者需重写该API完成GPIO引脚复用、NVIC中断、DMA通道的初始化。

hal_i2c_msp_deinit

表 249 hal_i2c_msp_deinit接口
函数原型

void hal_i2c_msp_deinit(i2c_handle_t *p_i2c)

功能说明

反初始化I2C所使用的GPIO引脚复用、NVIC中断、DMA通道等配置。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,开发者需重写该API完成GPIO引脚复用、NVIC中断、DMA通道的反初始化。

hal_i2c_master_transmit

表 250 hal_i2c_master_transmit接口
函数原型

hal_status_t hal_i2c_master_transmit(i2c_handle_t *p_i2c, uint16_t dev_address, uint8_t *p_data, uint16_t size, uint32_t timeout)

功能说明

作为I2C主设备,发送大量数据,轮询方式。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

p_data:指向数据缓冲区的指针。

size:待发送数据的长度。

timeout:超时时间。

返回值

HAL状态。

备注

返回HAL_ERROR时可调用hal_i2c_get_error()获取具体的错误码。

hal_i2c_master_receive

表 251 hal_i2c_master_receive接口
函数原型

hal_status_t hal_i2c_master_receive(i2c_handle_t *p_i2c, uint16_t dev_address, uint8_t *p_data, uint16_t size, uint32_t timeout)

功能说明

作为I2C主设备,接收大量数据,轮询方式。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

p_data:指向数据缓冲区的指针。

size:待接收数据的长度。

timeout:超时时间。

返回值

HAL状态。

备注

返回HAL_ERROR时可调用hal_i2c_get_error()获取具体的错误码。

hal_i2c_slave_transmit

表 252 hal_i2c_slave_transmit接口
函数原型

hal_status_t hal_i2c_slave_transmit(i2c_handle_t *p_i2c, uint8_t *p_data, uint16_t size, uint32_t timeout)

功能说明

作为I2C从设备,发送大量数据,轮询方式。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

p_data:指向数据缓冲区的指针。

size:待发送数据的长度。

timeout:超时时间。

返回值

HAL状态。

备注

返回HAL_ERROR时可调用hal_i2c_get_error()获取具体的错误码。

hal_i2c_slave_receive

表 253 hal_i2c_slave_receive接口
函数原型

hal_status_t hal_i2c_slave_receive(i2c_handle_t *p_i2c, uint8_t *p_data, uint16_t size, uint32_t timeout)

功能说明

作为I2C从设备,接收大量数据,轮询方式。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

p_data:指向数据缓冲区的指针。

size:待接收数据的长度。

timeout:超时时间。

返回值

HAL状态。

备注

返回HAL_ERROR时可调用hal_i2c_get_error()获取具体的错误码。

hal_i2c_mem_write

表 254 hal_i2c_mem_write接口
函数原型

hal_status_t hal_i2c_mem_write(i2c_handle_t *p_i2c, uint16_t dev_address, uint16_t mem_address, uint16_t mem_addr_size, uint8_t *p_data, uint16_t size, uint32_t timeout)

功能说明

以轮询模式向从设备的指定地址写入大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

mem_address:从设备的内部指定地址。

mem_addr_size:从设备的内部指定地址的位宽,该参数的取值可以是下列值中的任意一个:

  • I2C_MEMADD_SIZE_8BIT(8位)
  • I2C_MEMADD_SIZE_16BIT(16位)

p_data:指向数据缓冲区的指针。

size:待写入数据的长度。

timeout:超时时间

返回值

HAL状态。

备注

返回HAL_ERROR时可调用hal_i2c_get_error()获取具体的错误码。

hal_i2c_mem_read

表 255 hal_i2c_mem_read接口
函数原型

hal_status_t hal_i2c_mem_read(i2c_handle_t *p_i2c, uint16_t dev_address, uint16_t mem_address, uint16_t mem_addr_size, uint8_t *p_data, uint16_t size, uint32_t timeout)

功能说明

以轮询模式从从设备的指定地址读取大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

mem_address:从设备的内部指定地址。

mem_addr_size:从设备的内部指定地址的位宽,该参数的取值可以是下列值中的任意一个:

  • I2C_MEMADD_SIZE_8BIT(8位)
  • I2C_MEMADD_SIZE_16BIT(16位)

p_data:指向数据缓冲区的指针。

size:待读取数据的长度。

timeout:超时时间。

返回值

HAL状态。

备注

返回HAL_ERROR时可调用hal_i2c_get_error()获取具体的错误码。

hal_i2c_master_transmit_it

表 256 hal_i2c_master_transmit_it接口
函数原型

hal_status_t hal_i2c_master_transmit_it(i2c_handle_t *p_i2c, uint16_t dev_address, uint8_t *p_data, uint16_t size)

功能说明

作为I2C主设备,以中断非轮询模式发送大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

p_data:指向数据缓冲区的指针。

size:待发送数据的长度。

返回值

HAL状态。

备注

hal_i2c_master_receive_it

表 257 hal_i2c_master_receive_it接口
函数原型

hal_status_t hal_i2c_master_receive_it(i2c_handle_t *p_i2c, uint16_t dev_address, uint8_t *p_data, uint16_t size)

功能说明

作为I2C主设备,以中断非轮询模式接收大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

p_data:指向数据缓冲区的指针。

size:待接收数据的长度。

返回值

HAL状态。

备注

hal_i2c_slave_transmit_it

表 258 hal_i2c_slave_transmit_it接口
函数原型

hal_status_t hal_i2c_slave_transmit_it(i2c_handle_t *p_i2c, uint8_t *p_data, uint16_t size)

功能说明

作为I2C从设备,以中断非轮询模式发送大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

p_data:指向数据缓冲区的指针。

size:待发送数据的长度。

返回值

HAL状态

备注

hal_i2c_slave_receive_it

表 259 hal_i2c_slave_receive_it接口
函数原型

hal_status_t hal_i2c_slave_receive_it(i2c_handle_t *p_i2c, uint8_t *p_data, uint16_t size)

功能说明

作为I2C从设备,以中断非轮询模式接收大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

p_data:指向数据缓冲区的指针。

size:待接收数据的长度。

返回值

HAL状态。

备注

hal_i2c_mem_write_it

表 260 hal_i2c_mem_write_it接口
函数原型

hal_status_t hal_i2c_mem_write_it(i2c_handle_t *p_i2c, uint16_t dev_address, uint16_t mem_address, uint16_t mem_addr_size, uint8_t *p_data, uint16_t size)

功能说明

以中断非轮询模式向从设备的指定地址写入大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

mem_address:从设备的内部指定地址。

mem_addr_size:从设备的内部指定地址的位宽,该参数的取值可以是下列值中的任意一个:

  • I2C_MEMADD_SIZE_8BIT(8位)
  • I2C_MEMADD_SIZE_16BIT(16位)

p_data:指向数据缓冲区的指针。

size:待写入数据的长度。

返回值

HAL状态。

备注

hal_i2c_mem_read_it

表 261 hal_i2c_mem_read_it接口
函数原型

hal_status_t hal_i2c_mem_read_it(i2c_handle_t *p_i2c, uint16_t dev_address, uint16_t mem_address, uint16_t mem_addr_size, uint8_t *p_data, uint16_t size)

功能说明

以中断非轮询模式从从设备的指定地址读取大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

mem_address:从设备的内部指定地址。

mem_addr_size:从设备的内部指定地址的位宽,该参数的取值可以是下列值中的任意一个:

  • I2C_MEMADD_SIZE_8BIT(8位)
  • I2C_MEMADD_SIZE_16BIT(16位)

p_data:指向数据缓冲区的指针。

size:待读取数据的长度。

返回值

HAL状态。

备注

hal_i2c_master_abort_it

表 262 hal_i2c_master_abort_it接口
函数原型

hal_status_t hal_i2c_master_abort_it(i2c_handle_t *p_i2c)

功能说明

通过中断方式中止I2C主设备中断或DMA方式的数据传输。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

HAL状态。

备注

该函数为非轮询式函数,使能TX_ABRT中断后,该函数立即返回,TX_ABRT中断触发后中止完成,此时hal_i2c_abort_cplt_callback()将会被调用。

hal_i2c_master_transmit_dma

表 263 hal_i2c_master_transmit_dma接口
函数原型

hal_status_t hal_i2c_master_transmit_dma(i2c_handle_t *p_i2c, uint16_t dev_address, uint8_t *p_data, uint16_t size)

功能说明

作为I2C主设备,发送大量数据,DMA方式。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

p_data:指向数据缓冲区的指针。

size:待发送数据的长度。

返回值

HAL状态。

备注

hal_i2c_master_receive_dma

表 264 hal_i2c_master_receive_dma接口
函数原型

hal_status_t hal_i2c_master_receive_dma(i2c_handle_t *p_i2c, uint16_t dev_address, uint8_t *p_data, uint16_t size)

功能说明

作为I2C主设备,以DMA非轮询模式接收大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

p_data:指向数据缓冲区的指针。

size:待接收数据的长度。

返回值

HAL状态。

备注

hal_i2c_slave_transmit_dma

表 265 hal_i2c_slave_transmit_dma接口
函数原型

hal_status_t hal_i2c_slave_transmit_dma(i2c_handle_t *p_i2c, uint8_t *p_data, uint16_t size)

功能说明

作为I2C从设备,以DMA非轮询模式发送大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

p_data:指向数据缓冲区的指针。

size:待发送数据的长度。

返回值

HAL状态。

备注

hal_i2c_slave_receive_dma

表 266 hal_i2c_slave_receive_dma接口
函数原型

hal_status_t hal_i2c_slave_receive_dma(i2c_handle_t *p_i2c, uint8_t *p_data, uint16_t size)

功能说明

作为I2C从设备,以DMA非轮询模式接收大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

p_data:指向数据缓冲区的指针。

size:待接收数据的长度。

返回值

HAL状态。

备注

hal_i2c_mem_write_dma

表 267 hal_i2c_mem_write_dma接口
函数原型

hal_status_t hal_i2c_mem_write_dma(i2c_handle_t *p_i2c, uint16_t dev_address, uint16_t mem_address, uint16_t mem_addr_size, uint8_t *p_data, uint16_t size)

功能说明

以DMA非轮询模式向指定从设备的指定地址写入大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

mem_address:从设备的内部指定地址。

mem_addr_size:从设备的内部指定地址的位宽,该参数的取值可以是下列值中的任意一个:

  • I2C_MEMADD_SIZE_8BIT(8位)
  • I2C_MEMADD_SIZE_16BIT(16位)

p_data:指向数据缓冲区的指针。

size:待写入数据的长度。

返回值

HAL状态。

备注

hal_i2c_mem_read_dma

表 268 hal_i2c_mem_read_dma接口
函数原型

hal_status_t hal_i2c_mem_read_dma(i2c_handle_t *p_i2c, uint16_t dev_address, uint16_t mem_address, uint16_t mem_addr_size, uint8_t *p_data, uint16_t size)

功能说明

以DMA非轮询模式从指定从设备的指定地址读取大量数据。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

dev_address:从设备地址。

mem_address:从设备的内部指定地址。

mem_addr_size:从设备的内部指定地址的位宽,该参数的取值可以是下列值中的任意一个:

  • I2C_MEMADD_SIZE_8BIT(8位)
  • I2C_MEMADD_SIZE_16BIT(16位)

p_data:指向数据缓冲区的指针。

size:待读取数据的长度。

返回值

HAL状态

备注

hal_i2c_irq_handler

表 269 hal_i2c_irq_handler接口
函数原型

void hal_i2c_irq_handler(i2c_handle_t *p_i2c)

功能说明

处理I2C中断请求。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

hal_i2c_master_tx_cplt_callback

表 270 hal_i2c_master_tx_cplt_callback接口
函数原型

void hal_i2c_master_tx_cplt_callback(i2c_handle_t *p_i2c)

功能说明

主设备发送完成回调函数。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_i2c_master_rx_cplt_callback

表 271 hal_i2c_master_rx_cplt_callback接口
函数原型

void hal_i2c_master_rx_cplt_callback(i2c_handle_t *p_i2c)

功能说明

主设备接收完成回调函数。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_i2c_slave_tx_cplt_callback

表 272 hal_i2c_slave_tx_cplt_callback接口
函数原型

void hal_i2c_slave_tx_cplt_callback(i2c_handle_t *p_i2c)

功能说明

从设备发送完成回调函数。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_i2c_slave_rx_cplt_callback

表 273 hal_i2c_slave_rx_cplt_callback接口
函数原型

void hal_i2c_slave_rx_cplt_callback(i2c_handle_t *p_i2c)

功能说明

从设备接收完成回调函数。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_i2c_mem_tx_cplt_callback

表 274 hal_i2c_mem_tx_cplt_callback接口
函数原型

void hal_i2c_mem_tx_cplt_callback(i2c_handle_t *p_i2c)

功能说明

从设备写入完成回调函数。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_i2c_mem_rx_cplt_callback

表 275 hal_i2c_mem_rx_cplt_callback接口
函数原型

void hal_i2c_mem_rx_cplt_callback(i2c_handle_t *p_i2c)

功能说明

从设备读取完成回调函数。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_i2c_error_callback

表 276 hal_i2c_error_callback接口
函数原型

void hal_i2c_error_callback(i2c_handle_t *p_i2c)

功能说明

I2C错误回调函数。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_i2c_abort_cplt_callback

表 277 hal_i2c_abort_cplt_callback接口
函数原型

void hal_i2c_abort_cplt_callback(i2c_handle_t *p_i2c)

功能说明

I2C中止完成回调函数。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_i2c_get_state

表 278 hal_i2c_get_state接口
函数原型

hal_i2c_state_t hal_i2c_get_state(i2c_handle_t *p_i2c)

功能说明

获取I2C运行状态。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

I2C运行状态,该参数的取值可以是下列值中的任意一个:

  • HAL_I2C_STATE_RESET(未初始化)
  • HAL_I2C_STATE_READY(已初始化且空闲)
  • HAL_I2C_STATE_BUSY(忙)
  • HAL_I2C_STATE_BUSY_TX(正在发送)
  • HAL_I2C_STATE_BUSY_RX (正在接收)
  • HAL_I2C_STATE_LISTEN(正在地址监听)
  • HAL_I2C_STATE_BUSY_TX_LISTEN(正在发送和地址监听)
  • HAL_I2C_STATE_BUSY_RX_LISTEN(正在接收和地址监听)
  • HAL_I2C_STATE_ABORT(被中断)
  • HAL_I2C_STATE_TIMEOUT(超时)
  • HAL_I2C_STATE_ERROR(错误)
备注

hal_i2c_get_mode

表 279 hal_i2c_get_mode接口
函数原型

hal_i2c_mode_t hal_i2c_get_mode(i2c_handle_t *p_i2c)

功能说明

返回I2C模式:主设备、从设备、Memory或者无

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

I2C模式,该参数的取值可以是下列值中的任意一个:

  • HAL_I2C_MODE_NONE(无)
  • HAL_I2C_MODE_MASTER(作为主设备)
  • HAL_I2C_MODE_SLAVE(作为从设备)
  • HAL_I2C_MODE_MEM(读写存储设备)
备注

hal_i2c_get_error

表 280 hal_i2c_get_error接口
函数原型

uint32_t hal_i2c_get_error(i2c_handle_t *p_i2c)

功能说明

返回I2C句柄错误码。

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

I2C错误码,该参数的取值可以是下列值中的任意一个:

  • HAL_I2C_ERROR_NONE(无错误)
  • HAL_I2C_ERROR_ARB_LOST(仲裁丢失)
  • HAL_I2C_ERROR_NOACK(无ACK)
  • HAL_I2C_ERROR_OVER(接收溢出)
  • HAL_I2C_ERROR_DMA(DMA传输错误)
  • HAL_I2C_ERROR_TIMEOUT(超时)
备注

hal_i2c_suspend_reg

表 281 hal_i2c_suspend_reg接口
函数原型

hal_status_t hal_i2c_suspend_reg(i2c_handle_t *p_i2c)

功能说明

睡眠时挂起I2C配置相关的寄存器

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

HAL状态

备注

hal_i2c_resume_reg

表 282 hal_i2c_resume_reg接口
函数原型

hal_status_t hal_i2c_resume_reg(i2c_handle_t *p_i2c)

功能说明

唤醒时恢复I2C配置相关的寄存器

输入参数

p_i2c:指向i2c_handle_t结构体变量的指针,该结构体变量包含指定的I2C的配置信息。

返回值

HAL状态

备注

扫描关注

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