WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hal_spi.h 文件参考
#include <stdint.h>
#include <stdbool.h>
#include "errcode.h"
#include "common_def.h"
#include "spi_porting.h"
hal_spi.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  hal_spi_xfer_qspi_param
 SPI传输中QSPI的参数。 更多...
 
struct  hal_spi_xfer_sspi_param
 SPI传输中Single SPI的参数。 更多...
 
struct  hal_spi_attr
 SPI基础配置参数定义。 更多...
 
struct  hal_spi_extra_attr
 SPI扩展配置参数定义。 更多...
 
struct  hal_spi_xfer_data
 SPI传输结构体。 更多...
 
struct  hal_spi_dma_cfg_param
 SPI传输中DMA SPI的参数。 更多...
 

类型定义

typedef enum hal_spi_ctrl_id hal_spi_ctrl_id_t
 SPI控制ID定义。
 
typedef enum hal_spi_cfg_frame_format hal_spi_cfg_frame_format_t
 帧格式。
 
typedef enum hal_spi_cfg_clk_cpol hal_spi_cfg_clk_cpol_t
 时钟极性。
 
typedef enum hal_spi_cfg_clk_cpha hal_spi_cfg_clk_cpha_t
 时钟相位。
 
typedef enum hal_spi_cfg_sste hal_spi_cfg_sste_t
 SPI 从机选择切换使能
 
typedef enum hal_spi_trans_mode hal_spi_trans_mode_t
 传输模式。
 
typedef enum hal_spi_frame_size hal_spi_frame_size_t
 数据帧长度。
 
typedef enum hal_spi_frame_format hal_spi_frame_format_t
 SPI数据帧格式。
 
typedef enum hal_spi_trans_type hal_spi_trans_type_t
 SPI传输类型。
 
typedef enum hal_spi_inst_len hal_spi_inst_len_t
 SPI指令长度定义。
 
typedef enum hal_spi_addr_len hal_spi_addr_len_t
 SPI地址长度定义。
 
typedef enum hal_spi_evt_id hal_spi_evt_id_t
 HAL层SPI事件ID的定义
 
typedef struct hal_spi_xfer_qspi_param hal_spi_xfer_qspi_param_t
 SPI传输中QSPI的参数。
 
typedef struct hal_spi_xfer_sspi_param hal_spi_xfer_sspi_param_t
 SPI传输中Single SPI的参数。
 
typedef struct hal_spi_attr hal_spi_attr_t
 SPI基础配置参数定义。
 
typedef struct hal_spi_extra_attr hal_spi_extra_attr_t
 SPI扩展配置参数定义。
 
typedef struct hal_spi_xfer_data hal_spi_xfer_data_t
 SPI传输结构体。
 
typedef struct hal_spi_dma_cfg_param hal_spi_dma_cfg_param_t
 SPI传输中DMA SPI的参数。
 
typedef errcode_t(* hal_spi_callback_t) (spi_bus_t bus, hal_spi_evt_id_t evt, uintptr_t param)
 SPI的回调函数
 
typedef errcode_t(* hal_spi_ctrl_t) (spi_bus_t bus, hal_spi_ctrl_id_t id, uintptr_t param)
 HAL层SPI控制接口。
 

枚举

enum  hal_spi_ctrl_id {
  SPI_CTRL_SET_ATTR , SPI_CTRL_GET_ATTR , SPI_CTRL_SET_EXTRA_ATTR , SPI_CTRL_GET_EXTRA_ATTR ,
  SPI_CTRL_SELECT_SLAVE , SPI_CTRL_CHECK_FIFO_BUSY , SPI_CTRL_SET_DMA_CFG , SPI_CTRL_GET_DMA_DATA_ADDR ,
  SPI_CTRL_EN_RXFI_INT , SPI_CTRL_CHECK_RX_FIFO_EMPTY , SPI_CTRL_EN_TXEI_INT , SPI_CTRL_CHECK_TX_FIFO_FULL ,
  SPI_CTRL_EN_MULTI_MASTER_ERR_INT , SPI_CTRL_SET_TMOD , SPI_CTRL_MAX , SPI_CTRL_ID_INVALID = 0xFF
}
 SPI控制ID定义。 更多...
 
enum  hal_spi_cfg_frame_format { SPI_CFG_FRAME_FORMAT_MOTOROLA_SPI , SPI_CFG_FRAME_FORMAT_TEXAS_SSP , SPI_CFG_FRAME_FORMAT_NS_MICROWIRE , SPI_CFG_FRAME_FORMAT_MAX }
 帧格式。 更多...
 
enum  hal_spi_cfg_clk_cpol { SPI_CFG_CLK_CPOL_0 , SPI_CFG_CLK_CPOL_1 , SPI_CFG_CLK_CPOL_MAX }
 时钟极性。 更多...
 
enum  hal_spi_cfg_clk_cpha { SPI_CFG_CLK_CPHA_0 , SPI_CFG_CLK_CPHA_1 , SPI_CFG_CLK_CPHA_MAX }
 时钟相位。 更多...
 
enum  hal_spi_cfg_sste { SPI_CFG_SSTE_DISABLE , SPI_CFG_SSTE_ENABLE , SPI_CFG_SSTE_MAX }
 SPI 从机选择切换使能 更多...
 
enum  hal_spi_trans_mode {
  HAL_SPI_TRANS_MODE_TXRX = 0 , HAL_SPI_TRANS_MODE_TX , HAL_SPI_TRANS_MODE_RX , HAL_SPI_TRANS_MODE_EEPROM ,
  HAL_SPI_TRANS_MODE_MAX
}
 传输模式。 更多...
 
enum  hal_spi_frame_size { HAL_SPI_FRAME_SIZE_8 = 0x07 , HAL_SPI_FRAME_SIZE_16 = 0x0F , HAL_SPI_FRAME_SIZE_24 = 0x17 , HAL_SPI_FRAME_SIZE_32 = 0x1F }
 数据帧长度。 更多...
 
enum  hal_spi_frame_format {
  HAL_SPI_FRAME_FORMAT_STANDARD = 0 , HAL_SPI_FRAME_FORMAT_DUAL , HAL_SPI_FRAME_FORMAT_QUAD , HAL_SPI_FRAME_FORMAT_OCTAL ,
  HAL_SPI_FRAME_FORMAT_DOUBLE_OCTAL , HAL_SPI_FRAME_FORMAT_SIXT , HAL_SPI_FRAME_FORMAT_MAX_NUM , HAL_SPI_FRAME_FORMAT_NONE = HAL_SPI_FRAME_FORMAT_MAX_NUM
}
 SPI数据帧格式。 更多...
 
enum  hal_spi_trans_type { HAL_SPI_TRANS_TYPE_INST_S_ADDR_S = 0 , HAL_SPI_TRANS_TYPE_INST_S_ADDR_Q , HAL_SPI_TRANS_TYPE_INST_Q_ADDR_Q , HAL_SPI_TRANS_TYPE_MAX = HAL_SPI_TRANS_TYPE_INST_Q_ADDR_Q }
 SPI传输类型。 更多...
 
enum  hal_spi_inst_len {
  HAL_SPI_INST_LEN_0 = 0 , HAL_SPI_INST_LEN_4 , HAL_SPI_INST_LEN_8 , HAL_SPI_INST_LEN_16 ,
  HAL_SPI_INST_LEN_MAX = HAL_SPI_INST_LEN_16
}
 SPI指令长度定义。 更多...
 
enum  hal_spi_addr_len {
  HAL_SPI_ADDR_LEN_0 = 0 , HAL_SPI_ADDR_LEN_4 , HAL_SPI_ADDR_LEN_8 , HAL_SPI_ADDR_LEN_12 ,
  HAL_SPI_ADDR_LEN_16 , HAL_SPI_ADDR_LEN_20 , HAL_SPI_ADDR_LEN_24 , HAL_SPI_ADDR_LEN_28 ,
  HAL_SPI_ADDR_LEN_32 , HAL_SPI_ADDR_LEN_36 , HAL_SPI_ADDR_LEN_40 , HAL_SPI_ADDR_LEN_44 ,
  HAL_SPI_ADDR_LEN_48 , HAL_SPI_ADDR_LEN_52 , HAL_SPI_ADDR_LEN_56 , HAL_SPI_ADDR_LEN_60 ,
  HAL_SPI_ADDR_LEN_MAX = HAL_SPI_ADDR_LEN_60
}
 SPI地址长度定义。 更多...
 
enum  hal_spi_evt_id {
  SPI_EVT_RX_FULL_ISR , SPI_EVT_RX_OVERFLOW_ISR , SPI_EVT_RX_UNDERFLOW_ISR , SPI_EVT_TX_EMPTY_ISR ,
  SPI_EVT_TX_OVERFLOW_ISR , SPI_EVT_MULTI_MASTER_ISR
}
 HAL层SPI事件ID的定义 更多...
 

函数

errcode_t hal_spi_init (spi_bus_t bus, const hal_spi_attr_t *attr, const hal_spi_extra_attr_t *extra_attr, hal_spi_callback_t callback)
 HAL层SPI的初始化接口。
 
errcode_t hal_spi_deinit (spi_bus_t bus)
 HAL层SPI的去初始化接口。
 
errcode_t hal_spi_write (spi_bus_t bus, hal_spi_xfer_data_t *data, uint32_t timeout)
 HAL层SPI发送数据接口。
 
errcode_t hal_spi_read (spi_bus_t bus, hal_spi_xfer_data_t *data, uint32_t timeout)
 HAL层SPI读取数据接口(当timeout为0时会在数据读满或者fifo中没有数据的时候结束)。
 
errcode_t hal_spi_ctrl (spi_bus_t bus, hal_spi_ctrl_id_t id, uintptr_t param)
 HAL层SPI控制接口。
 
errcode_t hal_spi_regs_init (void)
 初始化寄存器基地址列表。