219#if defined(CONFIG_SPI_SUPPORT_MASTER) && (CONFIG_SPI_SUPPORT_MASTER == 1)
367#if defined(CONFIG_SPI_SUPPORT_SLAVE) && (CONFIG_SPI_SUPPORT_SLAVE == 1)
498#if !defined(CONFIG_SPI_SUPPORT_POLL_AND_DMA_AUTO_SWITCH)
499#if defined(CONFIG_SPI_SUPPORT_DMA) && (CONFIG_SPI_SUPPORT_DMA == 1)
521#if defined(CONFIG_SPI_SUPPORT_INTERRUPT) && (CONFIG_SPI_SUPPORT_INTERRUPT == 1)
584#if defined(CONFIG_SPI_SUPPORT_LOOPBACK) && (CONFIG_SPI_SUPPORT_LOOPBACK == 1)
603#if defined(CONFIG_SPI_SUPPORT_CRC) && (CONFIG_SPI_SUPPORT_CRC == 1)
611typedef struct spi_crc_config {
620 uint32_t tx_crc_poly;
622 uint32_t rx_crc_poly;
624 uint32_t tx_crc_xor_out;
626 uint32_t rx_crc_xor_out;
645typedef void (*spi_crc_err_callback_t)(
spi_bus_t bus);
664errcode_t uapi_spi_set_crc_mode(
spi_bus_t bus,
const spi_crc_config_t *crc_config, spi_crc_err_callback_t cb);
667#if defined(CONFIG_SPI_SUPPORT_LPM)
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
errcode_t uapi_spi_slave_read(spi_bus_t bus, const spi_xfer_data_t *data, uint32_t timeout)
从主机读取数据。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下三种传输模式,但是不能在同一bus中同时使用。
Definition spi.c:1303
errcode_t uapi_spi_master_write(spi_bus_t bus, const spi_xfer_data_t *data, uint32_t timeout)
将数据从主机写入到从机。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下三种传输模式,但是不能在同一bus中同时使用。
Definition spi.c:1083
struct spi_dma_config spi_dma_config_t
SPI DMA配置数据结构定义。
errcode_t uapi_spi_slave_writeread(spi_bus_t bus, const spi_xfer_data_t *data, uint32_t timeout)
从机写入和读取数据。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下两种种传输模式,但是不能在同一bus中同时使用。
Definition spi.c:1347
errcode_t uapi_spi_set_dma_mode(spi_bus_t bus, bool en, const spi_dma_config_t *dma_cfg)
使能/去使能DMA模式下SPI传输。
Definition spi.c:505
errcode_t uapi_spi_set_irq_mode(spi_bus_t bus, bool irq_en, spi_rx_callback_t rx_callback, spi_tx_callback_t tx_callback)
设置是否使用中断模式在主机模式下传输数据。
Definition spi.c:947
hal_spi_xfer_data_t spi_xfer_data_t
SPI传输结构体。
Definition spi.h:53
errcode_t uapi_spi_set_tmod(spi_bus_t bus, hal_spi_trans_mode_t tmod, uint8_t data_frame_num)
设置SPI的传输模式。
Definition spi.c:899
errcode_t uapi_spi_deinit(spi_bus_t bus)
去初始化 SPI。
Definition spi.c:472
errcode_t uapi_spi_master_read(spi_bus_t bus, const spi_xfer_data_t *data, uint32_t timeout)
从slave读取数据。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下三种传输模式,但是不能在同一bus中同时使用。
Definition spi.c:1173
hal_spi_attr_t spi_attr_t
SPI基本属性定义。
Definition spi.h:35
errcode_t uapi_spi_slave_write(spi_bus_t bus, const spi_xfer_data_t *data, uint32_t timeout)
从机向主机写入数据。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下三种传输模式,但是不能在同一bus中同时使用。
Definition spi.c:1256
errcode_t uapi_spi_get_attr(spi_bus_t bus, spi_attr_t *attr)
读取SPI的基础配置参数。
Definition spi.c:919
errcode_t uapi_spi_select_slave(spi_bus_t bus, spi_slave_t cs)
Master模式下选择需要对通的Slave设备。
Definition spi.c:1064
errcode_t uapi_spi_set_extra_attr(spi_bus_t bus, spi_extra_attr_t *extra_attr)
设置SPI的高级配置参数。
Definition spi.c:928
errcode_t uapi_spi_set_attr(spi_bus_t bus, spi_attr_t *attr)
设置SPI的基础配置参数。
Definition spi.c:910
errcode_t uapi_spi_get_extra_attr(spi_bus_t bus, spi_extra_attr_t *extra_attr)
读取SPI的高级配置参数。
Definition spi.c:937
hal_spi_extra_attr_t spi_extra_attr_t
SPI扩展属性定义。
Definition spi.h:44
void(* spi_rx_callback_t)(const void *buffer, uint32_t length, bool error)
SPI接收数据的回调函数,通过 uapi_spi_set_irq_mode 注册到驱动中。
Definition spi.h:558
errcode_t uapi_spi_init(spi_bus_t bus, spi_attr_t *attr, spi_extra_attr_t *extra_attr)
初始化 SPI。
Definition spi.c:435
errcode_t uapi_spi_master_writeread(spi_bus_t bus, const spi_xfer_data_t *data, uint32_t timeout)
主机写入和读取数据。有两种方式,一种是手动切换模式,另外一种是自动切换模式,两种方式是静态配置的。 手动切换方式一共有以下两种种传输模式,但是不能在同一bus中同时使用。
Definition spi.c:1217
void(* spi_tx_callback_t)(const void *buffer, uint32_t length)
SPI发送数据的回调函数,通过 uapi_spi_set_irq_mode 注册到驱动中。
Definition spi.h:536
enum hal_spi_trans_mode hal_spi_trans_mode_t
传输模式。
enum spi_slave spi_slave_t
SPI slave select.
SPI基础配置参数定义。
Definition hal_spi.h:397
SPI传输结构体。
Definition hal_spi.h:485
SPI DMA配置数据结构定义。
Definition spi.h:62
uint8_t burst_length
Definition spi.h:81
uint8_t dest_width
Definition spi.h:72
uint8_t src_width
Definition spi.h:63
uint8_t priority
Definition spi.h:94
unsigned int uintptr_t
Definition td_type.h:65
Definition hal_uart_v151_regs_def.h:38