|
xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
|
XTINY HAL I2C 模块接口 更多...
宏定义 | |
| #define | XT_HAL_I2C_INVALID_ID (0xFF) |
类型定义 | |
| typedef void(* | xt_hal_i2c_cb_t) (uint8_t i2c_id, uint32_t event_id) |
| I2C 回调函数类型定义 | |
枚举 | |
| enum | xt_hal_i2c_event_id { XT_HAL_I2C_EVENT_DONE = 0x00 } |
| I2C 事件 ID 枚举 更多... | |
函数 | |
| xt_err_t | xt_hal_i2cm_setup (uint8_t i2c_id, uint32_t speed, uint8_t scl_pin, uint8_t sda_pin) |
| 初始化 I2C Master | |
| xt_err_t | xt_hal_i2cm_close (uint8_t i2c_id) |
| 关闭 I2C Master | |
| int32_t | xt_hal_i2cm_tx_block (uint8_t i2c_id, uint16_t slave_addr, const void *tx_buffer, size_t size) |
| 阻塞发送数据到指定从机 | |
| int32_t | xt_hal_i2cm_rx_block (uint8_t i2c_id, uint16_t slave_addr, void *rx_buffer, size_t size) |
| 阻塞从指定从机读取数据 | |
| int32_t | xt_hal_i2cm_tx_rx_block (uint8_t i2c_id, uint16_t slave_addr, const void *tx_buffer, size_t tx_size, void *rx_buffer, size_t rx_size) |
| 阻塞半双工传输(先写后读) | |
XTINY HAL I2C 模块接口
| #define XT_HAL_I2C_INVALID_ID (0xFF) |
在文件 xt_hal_i2c.h 第 33 行定义.
| typedef void(* xt_hal_i2c_cb_t) (uint8_t i2c_id, uint32_t event_id) |
| enum xt_hal_i2c_event_id |
| xt_err_t xt_hal_i2cm_close | ( | uint8_t | i2c_id | ) |
| int32_t xt_hal_i2cm_rx_block | ( | uint8_t | i2c_id, |
| uint16_t | slave_addr, | ||
| void * | rx_buffer, | ||
| size_t | size ) |
阻塞从指定从机读取数据
接收完毕后发送停止信号。slave_addr 为 7 位地址。
| i2c_id | I2C 索引 |
| slave_addr | 从机 7 位地址 |
| rx_buffer | 接收数据缓冲区 |
| size | 接收数据长度(字节) |
| xt_err_t xt_hal_i2cm_setup | ( | uint8_t | i2c_id, |
| uint32_t | speed, | ||
| uint8_t | scl_pin, | ||
| uint8_t | sda_pin ) |
初始化 I2C Master
| i2c_id | I2C 索引 |
| speed | 时钟速率(单位:Hz) |
| scl_pin | SCL 引脚编号 |
| sda_pin | SDA 引脚编号 |
| int32_t xt_hal_i2cm_tx_block | ( | uint8_t | i2c_id, |
| uint16_t | slave_addr, | ||
| const void * | tx_buffer, | ||
| size_t | size ) |
阻塞发送数据到指定从机
输出完毕后发送停止信号。slave_addr 为 7 位地址。
| i2c_id | I2C 索引 |
| slave_addr | 从机 7 位地址 |
| tx_buffer | 发送数据缓冲区 |
| size | 发送数据长度(字节) |
| int32_t xt_hal_i2cm_tx_rx_block | ( | uint8_t | i2c_id, |
| uint16_t | slave_addr, | ||
| const void * | tx_buffer, | ||
| size_t | tx_size, | ||
| void * | rx_buffer, | ||
| size_t | rx_size ) |
阻塞半双工传输(先写后读)
先向指定从机写数据,写完后不发送停止信号,之后读数据, 读取完毕后再发送停止信号。 tx_rx(半双工)区别于 txrx(全双工)。
| i2c_id | I2C 索引 |
| slave_addr | 从机 7 位地址 |
| tx_buffer | 发送数据缓冲区 |
| tx_size | 发送数据长度(字节) |
| rx_buffer | 接收数据缓冲区 |
| rx_size | 接收数据长度(字节) |