xt-sdk 文档
v1.0.3
xt-sdk 嵌入式 SDK API 参考
Toggle main menu visibility
载入中...
搜索中...
未找到
xt_hal_spi.h
浏览该文件的文档.
1
12
13
#ifndef __XT_HAL_SPI_H__
14
#define __XT_HAL_SPI_H__
15
16
/* ==================== [Includes] ========================================== */
17
18
#include "
xt_hal_internal.h
"
19
20
#ifdef __cplusplus
21
extern
"C"
{
22
#endif
23
30
31
/* ==================== [Defines] =========================================== */
32
33
#define XT_HAL_SPI_INVALID_ID (0xFF)
34
35
#define XT_HAL_SPI_FRAME_FORMAT_S (0)
36
#define XT_HAL_SPI_FRAME_FORMAT_W (2)
37
#define XT_HAL_SPI_BIT_ORDER_S (2)
38
#define XT_HAL_SPI_BIT_ORDER_W (1)
39
#define XT_HAL_SPI_DATA_BITS_S (3)
40
#define XT_HAL_SPI_DATA_BITS_W (2)
41
42
#define XT_HAL_SPI_CPOL0_CPHA0 ((0) << (XT_HAL_SPI_FRAME_FORMAT_S))
43
#define XT_HAL_SPI_CPOL0_CPHA1 ((1) << (XT_HAL_SPI_FRAME_FORMAT_S))
44
#define XT_HAL_SPI_CPOL1_CPHA0 ((2) << (XT_HAL_SPI_FRAME_FORMAT_S))
45
#define XT_HAL_SPI_CPOL1_CPHA1 ((3) << (XT_HAL_SPI_FRAME_FORMAT_S))
46
47
#define XT_HAL_SPI_MSB_FIRST ((0) << (XT_HAL_SPI_BIT_ORDER_S))
48
#define XT_HAL_SPI_LSB_FIRST ((1) << (XT_HAL_SPI_BIT_ORDER_S))
49
50
#define XT_HAL_SPI_DATA_BITS_8 ((0) << (XT_HAL_SPI_DATA_BITS_S))
51
#define XT_HAL_SPI_DATA_BITS_16 ((1) << (XT_HAL_SPI_DATA_BITS_S))
52
#define XT_HAL_SPI_DATA_BITS_32 ((3) << (XT_HAL_SPI_DATA_BITS_S))
53
54
/* ==================== [Typedefs] ========================================== */
55
59
enum
xt_hal_spi_event_id
{
60
XT_HAL_SPI_EVENT_DONE
= 0x00,
61
};
62
69
typedef
void (*
xt_hal_spi_cb_t
)(uint8_t spi_id, uint32_t event_id);
70
71
/* ==================== [Global Prototypes] ================================= */
72
87
xt_err_t
xt_hal_spim_setup
(
88
uint8_t spi_id, uint32_t mode, uint32_t speed,
89
uint8_t mosi_pin, uint8_t miso_pin,
90
uint8_t sclk_pin, uint8_t cs_pin);
91
98
xt_err_t
xt_hal_spim_close
(uint8_t spi_id);
99
106
void
xt_hal_spi_set_cb
(uint8_t spi_id,
xt_hal_spi_cb_t
cb);
107
116
int32_t
xt_hal_spim_tx_0copy
(uint8_t spi_id,
const
void
*tx_buffer,
size_t
size);
117
126
int32_t
xt_hal_spim_rx_0copy
(uint8_t spi_id,
void
*rx_buffer,
size_t
size);
127
139
int32_t
xt_hal_spim_txrx_0copy
(uint8_t spi_id,
140
const
void
*tx_buffer,
141
void
*rx_buffer,
142
size_t
size);
143
152
int32_t
xt_hal_spim_tx_block
(uint8_t spi_id,
const
void
*tx_buffer,
size_t
size);
153
162
int32_t
xt_hal_spim_rx_block
(uint8_t spi_id,
void
*rx_buffer,
size_t
size);
163
175
int32_t
xt_hal_spim_txrx_block
(uint8_t spi_id,
176
const
void
*tx_buffer,
177
void
*rx_buffer,
178
size_t
size);
179
180
/* ==================== [Macros] ============================================ */
181
/* xt_hal_spi */
183
184
#ifdef __cplusplus
185
}
/* extern "C" */
186
#endif
187
188
#endif
/* __XT_HAL_SPI_H__ */
xt_err_t
int32_t xt_err_t
错误码类型
定义
xt_error.h:38
xt_hal_spi_set_cb
void xt_hal_spi_set_cb(uint8_t spi_id, xt_hal_spi_cb_t cb)
设置 SPI 回调函数
xt_hal_spim_txrx_block
int32_t xt_hal_spim_txrx_block(uint8_t spi_id, const void *tx_buffer, void *rx_buffer, size_t size)
阻塞全双工传输
xt_hal_spi_cb_t
void(* xt_hal_spi_cb_t)(uint8_t spi_id, uint32_t event_id)
SPI 回调函数类型定义
定义
xt_hal_spi.h:69
xt_hal_spim_rx_0copy
int32_t xt_hal_spim_rx_0copy(uint8_t spi_id, void *rx_buffer, size_t size)
非阻塞 0 拷贝接收
xt_hal_spim_tx_0copy
int32_t xt_hal_spim_tx_0copy(uint8_t spi_id, const void *tx_buffer, size_t size)
非阻塞 0 拷贝发送
xt_hal_spim_tx_block
int32_t xt_hal_spim_tx_block(uint8_t spi_id, const void *tx_buffer, size_t size)
阻塞发送
xt_hal_spim_close
xt_err_t xt_hal_spim_close(uint8_t spi_id)
关闭 SPI Master
xt_hal_spi_event_id
xt_hal_spi_event_id
SPI 事件 ID 枚举
定义
xt_hal_spi.h:59
xt_hal_spim_setup
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_hal_spim_txrx_0copy
int32_t xt_hal_spim_txrx_0copy(uint8_t spi_id, const void *tx_buffer, void *rx_buffer, size_t size)
非阻塞 0 拷贝全双工传输
xt_hal_spim_rx_block
int32_t xt_hal_spim_rx_block(uint8_t spi_id, void *rx_buffer, size_t size)
阻塞接收
XT_HAL_SPI_EVENT_DONE
@ XT_HAL_SPI_EVENT_DONE
定义
xt_hal_spi.h:60
xt_hal_internal.h
XTINY HAL 内部公共头文件
platforms
components
xtiny
xt_hal
xt_hal_spi.h
生成于
, 为 xt-sdk 文档使用
1.17.0