XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_hal_spi.h
浏览该文件的文档.
1
12#ifndef __XF_HAL_SPI_H__
13#define __XF_HAL_SPI_H__
14
15/* ==================== [Includes] ========================================== */
16
18
28#if XF_HAL_SPI_IS_ENABLE
29
30#include "xf_hal_gpio.h"
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36/* ==================== [Defines] =========================================== */
37
38/* ==================== [Typedefs] ========================================== */
39
43typedef uint32_t xf_spi_num_t;
44
53typedef void (*xf_hal_spi_cb_t)(xf_spi_num_t spi_num, void *user_data);
54
62
74
86
102
115
137
163
184
185/* ==================== [Global Prototypes] ================================= */
186
199xf_err_t xf_hal_spi_init(xf_spi_num_t spi_num, xf_hal_spi_hosts_t hosts, uint32_t speed);
200
213
229
243
257xf_err_t xf_hal_spi_set_prev_cb(xf_spi_num_t spi_num, xf_hal_spi_cb_t callback, void *user_data);
258
272xf_err_t xf_hal_spi_set_post_cb(xf_spi_num_t spi_num, xf_hal_spi_cb_t callback, void *user_data);
273
285
297
311
323
334xf_err_t xf_hal_spi_set_speed(xf_spi_num_t spi_num, uint32_t speed);
335
345int xf_hal_spi_write(xf_spi_num_t spi_num, const uint8_t *buffer, uint32_t size, uint32_t timeout_ms);
346
356int xf_hal_spi_read(xf_spi_num_t spi_num, uint8_t *buffer, uint32_t size, uint32_t timeout_ms);
357
358/* ==================== [Macros] ============================================ */
359
360#ifdef __cplusplus
361} /* extern "C" */
362#endif
363
364#endif // __XF_HAL_SPI_H__
365
371#endif
uint32_t xf_gpio_num_t
gpio 序号。
Definition xf_hal_gpio.h:44
xf_err_t xf_hal_spi_enable(xf_spi_num_t spi_num)
spi 启用函数。
Definition xf_hal_spi.c:92
_xf_hal_spi_cmd_t
用于对接 spi 设置的命令。
Definition xf_hal_spi.h:121
xf_err_t xf_hal_spi_set_mode(xf_spi_num_t spi_num, xf_hal_spi_mode_t mode)
设置 spi 模式。
Definition xf_hal_spi.c:244
enum _xf_hal_spi_bit_order_t xf_hal_spi_bit_order_t
spi 传输位顺序。
_xf_hal_spi_data_width_t
spi 传输数据位宽。
Definition xf_hal_spi.h:106
int xf_hal_spi_write(xf_spi_num_t spi_num, const uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
spi 写入数据函数。
Definition xf_hal_spi.c:319
void(* xf_hal_spi_cb_t)(xf_spi_num_t spi_num, void *user_data)
spi 回调函数原型。
Definition xf_hal_spi.h:53
xf_err_t xf_hal_spi_set_gpio(xf_spi_num_t spi_num, const xf_hal_spi_gpio_t *spi_gpio)
设置 spi 的输出 io。
Definition xf_hal_spi.c:194
xf_err_t xf_hal_spi_disable(xf_spi_num_t spi_num)
spi 禁用函数。
Definition xf_hal_spi.c:117
enum _xf_hal_spi_hosts_t xf_hal_spi_hosts_t
spi 的主从模式。
_xf_hal_spi_hosts_t
spi 的主从模式。
Definition xf_hal_spi.h:66
struct _xf_hal_spi_config_t xf_hal_spi_config_t
用于对接 SPI 设置的参数。
enum _xf_hal_spi_mode_t xf_hal_spi_mode_t
spi 模式。
uint32_t xf_spi_num_t
spi 序号。
Definition xf_hal_spi.h:43
enum _xf_hal_spi_cmd_t xf_hal_spi_cmd_t
用于对接 spi 设置的命令。
xf_err_t xf_hal_spi_set_data_width(xf_spi_num_t spi_num, xf_hal_spi_data_width_t data_width)
设置 spi 的传输数据宽度。
Definition xf_hal_spi.c:269
int xf_hal_spi_read(xf_spi_num_t spi_num, uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
spi 读取数据函数。
Definition xf_hal_spi.c:350
xf_err_t xf_hal_spi_set_post_cb(xf_spi_num_t spi_num, xf_hal_spi_cb_t callback, void *user_data)
设置 spi 传输后回调。
Definition xf_hal_spi.c:168
xf_err_t xf_hal_spi_set_speed(xf_spi_num_t spi_num, uint32_t speed)
设置 spi 的传输速度。
Definition xf_hal_spi.c:294
xf_err_t xf_hal_spi_init(xf_spi_num_t spi_num, xf_hal_spi_hosts_t hosts, uint32_t speed)
spi 初始化函数。
Definition xf_hal_spi.c:50
struct _xf_hal_spi_gpio_t xf_hal_spi_gpio_t
spi 的引脚设置。
enum _xf_hal_spi_data_width_t xf_hal_spi_data_width_t
spi 传输数据位宽。
xf_err_t xf_hal_spi_set_prev_cb(xf_spi_num_t spi_num, xf_hal_spi_cb_t callback, void *user_data)
设置 spi 传输前回调。
Definition xf_hal_spi.c:142
struct _xf_hal_spi_callback_t xf_hal_spi_callback_t
spi 的回调函数结构体。
xf_err_t xf_hal_spi_set_bit_order(xf_spi_num_t spi_num, xf_hal_spi_bit_order_t bit_order)
设置 spi 输出的字节序。
Definition xf_hal_spi.c:219
_xf_hal_spi_mode_t
spi 模式。
Definition xf_hal_spi.h:92
xf_err_t xf_hal_spi_deinit(xf_spi_num_t spi_num)
spi 反初始化函数。
Definition xf_hal_spi.c:77
_xf_hal_spi_bit_order_t
spi 传输位顺序。
Definition xf_hal_spi.h:78
@ XF_HAL_SPI_CMD_DATA_WIDTH
Definition xf_hal_spi.h:128
@ XF_HAL_SPI_CMD_TIMEOUT
Definition xf_hal_spi.h:129
@ XF_HAL_SPI_CMD_MODE
Definition xf_hal_spi.h:127
@ XF_HAL_SPI_CMD_PREV_CB
Definition xf_hal_spi.h:132
@ XF_HAL_SPI_CMD_SPEED
Definition xf_hal_spi.h:130
@ XF_HAL_SPI_CMD_DEFAULT
Definition xf_hal_spi.h:122
@ XF_HAL_SPI_CMD_GPIO
Definition xf_hal_spi.h:131
@ XF_HAL_SPI_CMD_POST_CB
Definition xf_hal_spi.h:133
@ XF_HAL_SPI_CMD_BIT_ORDER
Definition xf_hal_spi.h:126
@ XF_HAL_SPI_CMD_ALL
Definition xf_hal_spi.h:135
@ XF_HAL_SPI_CMD_ENABLE
Definition xf_hal_spi.h:125
@ XF_HAL_SPI_CMD_HOSTS
Definition xf_hal_spi.h:124
@ XF_HAL_SPI_DATA_WIDTH_32_BITS
Definition xf_hal_spi.h:111
@ XF_HAL_SPI_DATA_WIDTH_16_BITS
Definition xf_hal_spi.h:110
@ _XF_HAL_SPI_DATA_WIDTH_BASE
Definition xf_hal_spi.h:107
@ _XF_HAL_SPI_DATA_WIDTH_MAX
Definition xf_hal_spi.h:113
@ XF_HAL_SPI_DATA_WIDTH_8_BITS
Definition xf_hal_spi.h:109
@ XF_HAL_SPI_HOSTS_SLAVE
Definition xf_hal_spi.h:70
@ XF_HAL_SPI_HOSTS_MASTER
Definition xf_hal_spi.h:69
@ _XF_HAL_SPI_HOSTS_MAX
Definition xf_hal_spi.h:72
@ _XF_HAL_SPI_HOSTS_BASE
Definition xf_hal_spi.h:67
@ XF_HAL_SPI_MODE_2
Definition xf_hal_spi.h:97
@ XF_HAL_SPI_MODE_3
Definition xf_hal_spi.h:98
@ _XF_HAL_SPI_MODE_BASE
Definition xf_hal_spi.h:93
@ XF_HAL_SPI_MODE_1
Definition xf_hal_spi.h:96
@ _XF_HAL_SPI_MODE_MAX
Definition xf_hal_spi.h:100
@ XF_HAL_SPI_MODE_0
Definition xf_hal_spi.h:95
@ _XF_HAL_SPI_BIT_ORDER_MAX
Definition xf_hal_spi.h:84
@ _XF_HAL_SPI_BIT_ORDER_BASE
Definition xf_hal_spi.h:79
@ XF_HAL_SPI_BIT_ORDER_MSB_FIRST
Definition xf_hal_spi.h:82
@ XF_HAL_SPI_BIT_ORDER_LSB_FIRST
Definition xf_hal_spi.h:81
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition xf_err.h:69
spi 的回调函数结构体。
Definition xf_hal_spi.h:58
xf_hal_spi_cb_t callback
Definition xf_hal_spi.h:59
用于对接 SPI 设置的参数。
Definition xf_hal_spi.h:169
xf_hal_spi_callback_t post_cb
Definition xf_hal_spi.h:182
xf_hal_spi_callback_t prev_cb
Definition xf_hal_spi.h:181
xf_hal_spi_gpio_t gpio
Definition xf_hal_spi.h:180
spi 的引脚设置。
Definition xf_hal_spi.h:143
xf_gpio_num_t quadhd_num
Definition xf_hal_spi.h:160
xf_gpio_num_t data1_num
Definition xf_hal_spi.h:151
xf_gpio_num_t miso_num
Definition xf_hal_spi.h:152
xf_gpio_num_t data0_num
Definition xf_hal_spi.h:147
xf_gpio_num_t data3_num
Definition xf_hal_spi.h:159
xf_gpio_num_t mosi_num
Definition xf_hal_spi.h:148
xf_gpio_num_t cs_num
Definition xf_hal_spi.h:145
xf_gpio_num_t quadwp_num
Definition xf_hal_spi.h:156
xf_gpio_num_t data2_num
Definition xf_hal_spi.h:155
xf_gpio_num_t sclk_num
Definition xf_hal_spi.h:144
xf_hal 设备配置(仅 xf_hal device 内部使用)。
xf_hal 的 gpio(通用输入输出) 设备抽象。