XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_hal_spi.h 文件参考

xf_hal 的 spi(串行外设接口) 设备抽象。 更多...

#include "xf_hal_device_config.h"
#include "xf_hal_gpio.h"
xf_hal_spi.h 的引用(Include)关系图:

浏览源代码.

结构体

struct  _xf_hal_spi_callback_t
 spi 的回调函数结构体。 更多...
 
struct  _xf_hal_spi_gpio_t
 spi 的引脚设置。 更多...
 
struct  _xf_hal_spi_config_t
 用于对接 SPI 设置的参数。 更多...
 

类型定义

typedef uint32_t xf_spi_num_t
 spi 序号。
 
typedef void(* xf_hal_spi_cb_t) (xf_spi_num_t spi_num, void *user_data)
 spi 回调函数原型。
 
typedef struct _xf_hal_spi_callback_t xf_hal_spi_callback_t
 spi 的回调函数结构体。
 
typedef enum _xf_hal_spi_hosts_t xf_hal_spi_hosts_t
 spi 的主从模式。
 
typedef enum _xf_hal_spi_bit_order_t xf_hal_spi_bit_order_t
 spi 传输位顺序。
 
typedef enum _xf_hal_spi_mode_t xf_hal_spi_mode_t
 spi 模式。
 
typedef enum _xf_hal_spi_data_width_t xf_hal_spi_data_width_t
 spi 传输数据位宽。
 
typedef enum _xf_hal_spi_cmd_t xf_hal_spi_cmd_t
 用于对接 spi 设置的命令。
 
typedef struct _xf_hal_spi_gpio_t xf_hal_spi_gpio_t
 spi 的引脚设置。
 
typedef struct _xf_hal_spi_config_t xf_hal_spi_config_t
 用于对接 SPI 设置的参数。
 

枚举

enum  _xf_hal_spi_hosts_t { _XF_HAL_SPI_HOSTS_BASE = 0 , XF_HAL_SPI_HOSTS_MASTER = _XF_HAL_SPI_HOSTS_BASE , XF_HAL_SPI_HOSTS_SLAVE , _XF_HAL_SPI_HOSTS_MAX }
 spi 的主从模式。 更多...
 
enum  _xf_hal_spi_bit_order_t { _XF_HAL_SPI_BIT_ORDER_BASE = 0 , XF_HAL_SPI_BIT_ORDER_LSB_FIRST = _XF_HAL_SPI_BIT_ORDER_BASE , XF_HAL_SPI_BIT_ORDER_MSB_FIRST , _XF_HAL_SPI_BIT_ORDER_MAX }
 spi 传输位顺序。 更多...
 
enum  _xf_hal_spi_mode_t {
  _XF_HAL_SPI_MODE_BASE = 0 , XF_HAL_SPI_MODE_0 = _XF_HAL_SPI_MODE_BASE , XF_HAL_SPI_MODE_1 , XF_HAL_SPI_MODE_2 ,
  XF_HAL_SPI_MODE_3 , _XF_HAL_SPI_MODE_MAX
}
 spi 模式。 更多...
 
enum  _xf_hal_spi_data_width_t {
  _XF_HAL_SPI_DATA_WIDTH_BASE = 0 , XF_HAL_SPI_DATA_WIDTH_8_BITS = _XF_HAL_SPI_DATA_WIDTH_BASE , XF_HAL_SPI_DATA_WIDTH_16_BITS , XF_HAL_SPI_DATA_WIDTH_32_BITS ,
  _XF_HAL_SPI_DATA_WIDTH_MAX
}
 spi 传输数据位宽。 更多...
 
enum  _xf_hal_spi_cmd_t {
  XF_HAL_SPI_CMD_DEFAULT = 0x0 , XF_HAL_SPI_CMD_HOSTS = 0x1 << 0 , XF_HAL_SPI_CMD_ENABLE = 0x1 << 1 , XF_HAL_SPI_CMD_BIT_ORDER = 0x1 << 2 ,
  XF_HAL_SPI_CMD_MODE = 0x1 << 3 , XF_HAL_SPI_CMD_DATA_WIDTH = 0x1 << 4 , XF_HAL_SPI_CMD_TIMEOUT = 0x1 << 5 , XF_HAL_SPI_CMD_SPEED = 0x1 << 6 ,
  XF_HAL_SPI_CMD_GPIO = 0x1 << 7 , XF_HAL_SPI_CMD_PREV_CB = 0x1 << 8 , XF_HAL_SPI_CMD_POST_CB = 0x1 << 9 , XF_HAL_SPI_CMD_ALL = 0x7FFFFFFF
}
 用于对接 spi 设置的命令。 更多...
 

函数

xf_err_t xf_hal_spi_init (xf_spi_num_t spi_num, xf_hal_spi_hosts_t hosts, uint32_t speed)
 spi 初始化函数。
 
xf_err_t xf_hal_spi_deinit (xf_spi_num_t spi_num)
 spi 反初始化函数。
 
xf_err_t xf_hal_spi_enable (xf_spi_num_t spi_num)
 spi 启用函数。
 
xf_err_t xf_hal_spi_disable (xf_spi_num_t spi_num)
 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 传输前回调。
 
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 传输后回调。
 
xf_err_t xf_hal_spi_set_gpio (xf_spi_num_t spi_num, const xf_hal_spi_gpio_t *spi_gpio)
 设置 spi 的输出 io。
 
xf_err_t xf_hal_spi_set_bit_order (xf_spi_num_t spi_num, xf_hal_spi_bit_order_t bit_order)
 设置 spi 输出的字节序。
 
xf_err_t xf_hal_spi_set_mode (xf_spi_num_t spi_num, xf_hal_spi_mode_t mode)
 设置 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 的传输数据宽度。
 
xf_err_t xf_hal_spi_set_speed (xf_spi_num_t spi_num, uint32_t speed)
 设置 spi 的传输速度。
 
int xf_hal_spi_write (xf_spi_num_t spi_num, const uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
 spi 写入数据函数。
 
int xf_hal_spi_read (xf_spi_num_t spi_num, uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
 spi 读取数据函数。
 

详细描述

xf_hal 的 spi(串行外设接口) 设备抽象。

作者
cangyu (sky.k.nosp@m.irto.nosp@m.@qq.c.nosp@m.om)
版本
0.1
日期
2024-05-17

在文件 xf_hal_spi.h 中定义.