|
xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
|
XTINY HAL SPI 模块接口 更多...
宏定义 | |
| #define | XT_HAL_SPI_INVALID_ID (0xFF) |
| #define | XT_HAL_SPI_FRAME_FORMAT_S (0) |
| #define | XT_HAL_SPI_FRAME_FORMAT_W (2) |
| #define | XT_HAL_SPI_BIT_ORDER_S (2) |
| #define | XT_HAL_SPI_BIT_ORDER_W (1) |
| #define | XT_HAL_SPI_DATA_BITS_S (3) |
| #define | XT_HAL_SPI_DATA_BITS_W (2) |
| #define | XT_HAL_SPI_CPOL0_CPHA0 ((0) << (XT_HAL_SPI_FRAME_FORMAT_S)) |
| #define | XT_HAL_SPI_CPOL0_CPHA1 ((1) << (XT_HAL_SPI_FRAME_FORMAT_S)) |
| #define | XT_HAL_SPI_CPOL1_CPHA0 ((2) << (XT_HAL_SPI_FRAME_FORMAT_S)) |
| #define | XT_HAL_SPI_CPOL1_CPHA1 ((3) << (XT_HAL_SPI_FRAME_FORMAT_S)) |
| #define | XT_HAL_SPI_MSB_FIRST ((0) << (XT_HAL_SPI_BIT_ORDER_S)) |
| #define | XT_HAL_SPI_LSB_FIRST ((1) << (XT_HAL_SPI_BIT_ORDER_S)) |
| #define | XT_HAL_SPI_DATA_BITS_8 ((0) << (XT_HAL_SPI_DATA_BITS_S)) |
| #define | XT_HAL_SPI_DATA_BITS_16 ((1) << (XT_HAL_SPI_DATA_BITS_S)) |
| #define | XT_HAL_SPI_DATA_BITS_32 ((3) << (XT_HAL_SPI_DATA_BITS_S)) |
类型定义 | |
| typedef void(* | xt_hal_spi_cb_t) (uint8_t spi_id, uint32_t event_id) |
| SPI 回调函数类型定义 | |
枚举 | |
| enum | xt_hal_spi_event_id { XT_HAL_SPI_EVENT_DONE = 0x00 } |
| SPI 事件 ID 枚举 更多... | |
函数 | |
| xt_err_t | xt_hal_spim_setup (uint8_t spi_id, uint32_t mode, uint32_t speed, uint8_t mosi_pin, uint8_t miso_pin, uint8_t sclk_pin, uint8_t cs_pin) |
| 初始化 SPI Master | |
| xt_err_t | xt_hal_spim_close (uint8_t spi_id) |
| 关闭 SPI Master | |
| void | xt_hal_spi_set_cb (uint8_t spi_id, xt_hal_spi_cb_t cb) |
| 设置 SPI 回调函数 | |
| int32_t | xt_hal_spim_tx_0copy (uint8_t spi_id, const void *tx_buffer, size_t size) |
| 非阻塞 0 拷贝发送 | |
| int32_t | xt_hal_spim_rx_0copy (uint8_t spi_id, void *rx_buffer, size_t size) |
| 非阻塞 0 拷贝接收 | |
| int32_t | xt_hal_spim_txrx_0copy (uint8_t spi_id, const void *tx_buffer, void *rx_buffer, size_t size) |
| 非阻塞 0 拷贝全双工传输 | |
| int32_t | xt_hal_spim_tx_block (uint8_t spi_id, const void *tx_buffer, size_t size) |
| 阻塞发送 | |
| int32_t | xt_hal_spim_rx_block (uint8_t spi_id, void *rx_buffer, size_t size) |
| 阻塞接收 | |
| int32_t | xt_hal_spim_txrx_block (uint8_t spi_id, const void *tx_buffer, void *rx_buffer, size_t size) |
| 阻塞全双工传输 | |
XTINY HAL SPI 模块接口
| #define XT_HAL_SPI_BIT_ORDER_S (2) |
在文件 xt_hal_spi.h 第 37 行定义.
| #define XT_HAL_SPI_BIT_ORDER_W (1) |
在文件 xt_hal_spi.h 第 38 行定义.
| #define XT_HAL_SPI_CPOL0_CPHA0 ((0) << (XT_HAL_SPI_FRAME_FORMAT_S)) |
CPOL=0, CPHA=0
在文件 xt_hal_spi.h 第 42 行定义.
| #define XT_HAL_SPI_CPOL0_CPHA1 ((1) << (XT_HAL_SPI_FRAME_FORMAT_S)) |
CPOL=0, CPHA=1
在文件 xt_hal_spi.h 第 43 行定义.
| #define XT_HAL_SPI_CPOL1_CPHA0 ((2) << (XT_HAL_SPI_FRAME_FORMAT_S)) |
CPOL=1, CPHA=0
在文件 xt_hal_spi.h 第 44 行定义.
| #define XT_HAL_SPI_CPOL1_CPHA1 ((3) << (XT_HAL_SPI_FRAME_FORMAT_S)) |
CPOL=1, CPHA=1
在文件 xt_hal_spi.h 第 45 行定义.
| #define XT_HAL_SPI_DATA_BITS_16 ((1) << (XT_HAL_SPI_DATA_BITS_S)) |
16 位数据帧
在文件 xt_hal_spi.h 第 51 行定义.
| #define XT_HAL_SPI_DATA_BITS_32 ((3) << (XT_HAL_SPI_DATA_BITS_S)) |
32 位数据帧
在文件 xt_hal_spi.h 第 52 行定义.
| #define XT_HAL_SPI_DATA_BITS_8 ((0) << (XT_HAL_SPI_DATA_BITS_S)) |
8 位数据帧
在文件 xt_hal_spi.h 第 50 行定义.
| #define XT_HAL_SPI_DATA_BITS_S (3) |
在文件 xt_hal_spi.h 第 39 行定义.
| #define XT_HAL_SPI_DATA_BITS_W (2) |
在文件 xt_hal_spi.h 第 40 行定义.
| #define XT_HAL_SPI_FRAME_FORMAT_S (0) |
在文件 xt_hal_spi.h 第 35 行定义.
| #define XT_HAL_SPI_FRAME_FORMAT_W (2) |
在文件 xt_hal_spi.h 第 36 行定义.
| #define XT_HAL_SPI_INVALID_ID (0xFF) |
在文件 xt_hal_spi.h 第 33 行定义.
| #define XT_HAL_SPI_LSB_FIRST ((1) << (XT_HAL_SPI_BIT_ORDER_S)) |
LSB 优先
在文件 xt_hal_spi.h 第 48 行定义.
| #define XT_HAL_SPI_MSB_FIRST ((0) << (XT_HAL_SPI_BIT_ORDER_S)) |
不填时默认为 MSB
在文件 xt_hal_spi.h 第 47 行定义.
| typedef void(* xt_hal_spi_cb_t) (uint8_t spi_id, uint32_t event_id) |
| enum xt_hal_spi_event_id |
| void xt_hal_spi_set_cb | ( | uint8_t | spi_id, |
| xt_hal_spi_cb_t | cb ) |
设置 SPI 回调函数
| spi_id | SPI 索引 |
| cb | 回调函数,见 xt_hal_spi_cb_t |
| xt_err_t xt_hal_spim_close | ( | uint8_t | spi_id | ) |
| int32_t xt_hal_spim_rx_0copy | ( | uint8_t | spi_id, |
| void * | rx_buffer, | ||
| size_t | size ) |
非阻塞 0 拷贝接收
| spi_id | SPI 索引 |
| rx_buffer | 接收数据缓冲区 |
| size | 接收数据长度(字节) |
| int32_t xt_hal_spim_rx_block | ( | uint8_t | spi_id, |
| void * | rx_buffer, | ||
| size_t | size ) |
阻塞接收
| spi_id | SPI 索引 |
| rx_buffer | 接收数据缓冲区 |
| size | 接收数据长度(字节) |
| xt_err_t xt_hal_spim_setup | ( | uint8_t | spi_id, |
| uint32_t | mode, | ||
| uint32_t | speed, | ||
| uint8_t | mosi_pin, | ||
| uint8_t | miso_pin, | ||
| uint8_t | sclk_pin, | ||
| uint8_t | cs_pin ) |
初始化 SPI Master
如果 mosi_pin == miso_pin,自动初始化为 3 线模式。
| spi_id | SPI 索引 |
| mode | SPI 模式配置(XT_HAL_SPI_* 宏的组合) |
| speed | 时钟速率(单位:Hz) |
| mosi_pin | MOSI 引脚编号 |
| miso_pin | MISO 引脚编号 |
| sclk_pin | SCLK 引脚编号 |
| cs_pin | CS 引脚编号 |
| int32_t xt_hal_spim_tx_0copy | ( | uint8_t | spi_id, |
| const void * | tx_buffer, | ||
| size_t | size ) |
非阻塞 0 拷贝发送
| spi_id | SPI 索引 |
| tx_buffer | 发送数据缓冲区 |
| size | 发送数据长度(字节) |
| int32_t xt_hal_spim_tx_block | ( | uint8_t | spi_id, |
| const void * | tx_buffer, | ||
| size_t | size ) |
阻塞发送
| spi_id | SPI 索引 |
| tx_buffer | 发送数据缓冲区 |
| size | 发送数据长度(字节) |
| int32_t xt_hal_spim_txrx_0copy | ( | uint8_t | spi_id, |
| const void * | tx_buffer, | ||
| void * | rx_buffer, | ||
| size_t | size ) |
非阻塞 0 拷贝全双工传输
| spi_id | SPI 索引 |
| tx_buffer | 发送数据缓冲区 |
| rx_buffer | 接收数据缓冲区 |
| size | 传输数据长度(字节) |
| int32_t xt_hal_spim_txrx_block | ( | uint8_t | spi_id, |
| const void * | tx_buffer, | ||
| void * | rx_buffer, | ||
| size_t | size ) |
阻塞全双工传输
| spi_id | SPI 索引 |
| tx_buffer | 发送数据缓冲区 |
| rx_buffer | 接收数据缓冲区 |
| size | 传输数据长度(字节) |