19.5.1. 函数列表¶
19.5.1.1. Function gx_spi_check_capability¶
-
bool gx_spi_check_capability(struct spi_device *spi, SPI_CAPABILITY_T cap)
SPI 可以支持的模式或功能 param spi 从机设备 param cap 要检查的模式或功能
19.5.1.2. Function gx_spi_master_init¶
-
int gx_spi_master_init(struct sflash_master *spi_master)
SPI master模式初始化 param sflash_master spi 的从机设备
return int
- Returns 0
初始化成功
- Returns -1
初始化失败
19.5.1.3. Function gx_spi_master_tx_and_rx¶
-
int gx_spi_master_tx_and_rx(struct spi_device *spi, uint8_t *rx_buf, uint32_t rx_len, uint8_t *tx_buf, uint32_t tx_len)
SPI 单线模式下,同步发送和接收数据
- 参数
spi -- 从机设备
rx_buf -- 接收数据内存地址
rx_len -- 接收数据长度
tx_buf -- 发送数据内存地址
tx_len -- 发送数据长度
- Returns 0
执行成功
- Returns -22
参数无效
- 返回
int
19.5.1.4. Function gx_spi_master_tx_then_rx¶
-
int gx_spi_master_tx_then_rx(struct spi_device *spi, uint8_t *tx_buf, uint32_t tx_len, uint8_t *rx_buf, uint32_t rx_len)
SPI master 单线模式下,在一个transfer中先发送指令或地址后,再接收数据,不支持dma传输,适用于小数据量传输
- 参数
spi -- 从机设备
tx_buf -- 发送数据内存地址
tx_len -- 发送数据长度
rx_buf -- 接收数据内存地址
rx_len -- 接收数据长度
- Returns 0
执行成功
- Returns -22
参数无效
- 返回
int
19.5.1.5. Function gx_spi_read¶
警告
doxygenfunction: Unable to resolve function "gx_spi_read" with arguments (struct spi_device*, uint8_t*, uint32_t, uint8_t*, uint32_t, uint8_t, uint8_t, uint8_t, void (*)(void*, uint8_t), void*) in doxygen xml output for project "Fornax 使用文档" from directory: ./doxyoutput/XML. Potential matches:
- int gx_spi_read(struct spi_device *spi, uint8_t *cmd, uint32_t cmd_len, uint8_t *data, uint32_t data_len, uint8_t data_trans_lines, uint8_t data_bits_per_word, uint8_t dma_mode, void (*complete_cb)(void*, uint8_t), void *cb_param)
19.5.1.6. Function gx_spi_rx¶
警告
doxygenfunction: Unable to resolve function "gx_spi_rx" with arguments (struct spi_device*, uint8_t*, uint32_t, uint8_t, uint8_t, uint8_t, void (*)(void*, uint8_t), void*) in doxygen xml output for project "Fornax 使用文档" from directory: ./doxyoutput/XML. Potential matches:
- int gx_spi_rx(struct spi_device *spi, uint8_t *buf, uint32_t len, uint8_t trans_lines, uint8_t bits_per_word, uint8_t dma_mode, void (*complete_cb)(void*, uint8_t), void *cb_param)
19.5.1.7. Function gx_spi_set_div_and_sample_delay¶
-
void gx_spi_set_div_and_sample_delay(struct spi_device *spi, unsigned int div, unsigned int sample_delay)
SPI 设置spi 控制器的分频比和sample 采样延时,测试时使用 param spi 从机设备 param div 分频比 param sample_delay 采样延时
19.5.1.8. Function gx_spi_sync¶
-
static inline int gx_spi_sync(struct spi_device *spi, struct spi_message *message)
传输数据
- 参数
spi -- 从机设备
message -- 传输的消息
- Returns 0
执行成功
- Returns -22
参数无效
- 返回
int
19.5.1.9. Function gx_spi_tx¶
警告
doxygenfunction: Unable to resolve function "gx_spi_tx" with arguments (struct spi_device*, uint8_t*, uint32_t, uint8_t, uint8_t, uint8_t, void (*)(void*, uint8_t), void*) in doxygen xml output for project "Fornax 使用文档" from directory: ./doxyoutput/XML. Potential matches:
- int gx_spi_tx(struct spi_device *spi, uint8_t *buf, uint32_t len, uint8_t trans_lines, uint8_t bits_per_word, uint8_t dma_mode, void (*complete_cb)(void*, uint8_t), void *cb_param)
19.5.1.10. Function gx_spi_write¶
警告
doxygenfunction: Unable to resolve function "gx_spi_write" with arguments (struct spi_device*, uint8_t*, uint32_t, uint8_t*, uint32_t, uint8_t, uint8_t, uint8_t, void (*)(void*, uint8_t), void*) in doxygen xml output for project "Fornax 使用文档" from directory: ./doxyoutput/XML. Potential matches:
- int gx_spi_write(struct spi_device *spi, uint8_t *cmd, uint32_t cmd_len, uint8_t *data, uint32_t data_len, uint8_t data_trans_lines, uint8_t data_bits_per_word, uint8_t dma_mode, void (*complete_cb)(void*, uint8_t), void *cb_param)
19.5.1.11. Function spi_cleanup¶
-
static inline void spi_cleanup(struct spi_device *spi)
关闭控制器
- 参数
spi -- 从机配置
19.5.1.12. Function spi_message_add_tail¶
-
static inline void spi_message_add_tail(struct spi_transfer *t, struct spi_message *m)
添加传输单元
- 参数
t -- 传输单元
m -- 消息
19.5.1.13. Function spi_message_init¶
-
static inline void spi_message_init(struct spi_message *m)
初始化消息
- 参数
m -- 消息体指针
19.5.1.14. Function spi_setup¶
-
static inline int spi_setup(struct spi_device *spi)
配置控制器
- 参数
spi -- 从机配置
- Returns 0
执行成功
- Returns -12
内存不足
- 返回
int
19.5.1.15. Function spi_transfer_del¶
-
static inline void spi_transfer_del(struct spi_transfer *t)
删除传输单元
- 参数
t -- 传输单元
19.5.1.16. Function gx_spi_slave_init¶
-
int gx_spi_slave_init(struct spi_device *spi)
初始化SPI slave 模块
- 参数
spi -- slave设备, 详细说明请参考 spi_device
- Returns 0
成功
- Returns -1
失败
- 返回
int 初始化是否成功
19.5.1.17. Function gx_spi_slave_rx¶
-
int gx_spi_slave_rx(struct spi_device *spi, void *buffer, uint32_t len, uint8_t dma_mode, completion_cb slave_completetion_cb, void *cb_param)
SPI slave 接收数据
- 参数
spi -- slave设备, 详细说明请参考 spi_device
buffer -- 发送数据地址
len -- 发送数据长度, byte为单位
dma_mode -- dma模式, 0:表示不使用dma,1:表示使用dma同步模式,2:表示使用dma异步模式
slave_completetion_cb -- 发送完成回调接口,如果为NULL, 则使用阻塞模式发送; 回调函数在中断中执行;
cb_param -- 回调函数参数
- Returns 0
成功
- Returns -1
失败
- 返回
int 发送是否成功
19.5.1.18. Function gx_spi_slave_tx¶
-
int gx_spi_slave_tx(struct spi_device *spi, const void *buffer, uint32_t len, uint8_t dma_mode, completion_cb slave_completetion_cb, void *cb_param)
SPI slave 发送数据
- 参数
spi -- slave设备, 详细说明请参考 spi_device
buffer -- 接收数据地址
len -- 接收数据长度, byte为单位 如果使用异步 dma 发送模式,len 长度应大于 16 字节 (8bit 位宽) 或 64 字节 (32bit 位宽)
dma_mode -- dma模式, 0:表示不使用dma,1:表示使用dma同步模式,2:表示使用dma异步模式
slave_completetion_cb -- 接收完成回调接口,如果为NULL, 则使用阻塞模式接收; 回调函数在中断中执行;
cb_param -- 回调函数参数
- Returns 0
成功
- Returns -1
失败
- 返回
int 接收是否成功