CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

QSPI驱动API描述

QSPI驱动的API主要包括:

表 286 QSPI驱动的APIs
API类别 API名称 描述
初始化 hal_qspi_init() 初始化QSPI外设,配置时钟分频系数等参数。
hal_qspi_deinit() 反初始化QSPI外设。
hal_qspi_msp_init() 初始化QSPI外设所使用的GPIO引脚复用、NVIC中断、DMA通道。
hal_qspi_msp_deinit() 反初始化QSPI外设所使用的GPIO引脚复用、NVIC中断、DMA通道。
IO操作 hal_qspi_command_transmit() 发送数据(包含:指令,地址,数据),轮询方式。
hal_qspi_command_receive() 接收数据(包含:指令,地址,数据),轮询方式。
hal_qspi_command() 发送指令,轮询方式。
hal_qspi_transmit() 以SPI方式发送数据,轮询方式。
hal_qspi_receive() 以SPI方式接收数据,轮询方式。
hal_qspi_command_transmit_it() 发送数据(包含:指令,地址,数据),中断方式。
hal_qspi_command_receive_it() 接收数据(包含:指令,地址,数据),中断方式。
hal_qspi_command_it() 发送指令,中断方式。
hal_qspi_transmit_it() 以SPI方式发送数据,中断方式。
hal_qspi_receive_it() 以SPI方式接收数据,中断式。
hal_qspi_command_transmit_dma() 发送数据(包含:指令,地址,数据),DMA方式。
hal_qspi_command_receive_dma() 接收数据(包含:指令,地址,数据),DMA方式。
hal_qspi_command_dma() 发送指令,DMA方式。
hal_qspi_transmit_dma() 以SPI方式发送数据,DMA方式。
hal_qspi_receive_dma() 以SPI方式接收数据,DMA方式。
hal_qspi_abort() 中止中断及DMA方式下的数据传输,轮询方式。
hal_qspi_abort_it() 中止中断及DMA方式下的数据传输,中断方式。
中断处理及回调函数 hal_qspi_irq_handler() 中断处理函数。
hal_qspi_tx_cplt_callback() 发送完成中断回调函数。
hal_qspi_rx_cplt_callback() 接收完成中断回调函数。
hal_qspi_error_callback() 错误中断回调函数。
hal_qspi_abort_cplt_callback() 中止完成中断回调函数。
状态及错误 hal_qspi_get_state() 获取驱动运行状态。
hal_qspi_get_error() 获取错误码。
控制 hal_qspi_set_timeout() 设置超时时间。
hal_qspi_set_tx_fifo_threshold() 设置TX FIFO阈值。
hal_qspi_set_rx_fifo_threshold() 设置RX FIFO阈值。
hal_qspi_get_tx_fifo_threshold() 获取TX FIFO阈值。
hal_qspi_get_rx_fifo_threshold() 获取RX FIFO阈值。
睡眠相关 hal_qspi_suspend_reg() 睡眠时挂起QSPI配置相关的寄存器。
hal_qspi_resume_reg() 唤醒时恢复QSPI配置相关的寄存器。

下面章节将对各API进行详细描述。

hal_qspi_init

表 287 hal_qspi_init接口
函数原型

hal_status_t hal_qspi_init(qspi_handle_t *p_qspi)

功能说明

根据qspi_init_t中的指定参数初始化QSPI模式,并初始化相关句柄。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

HAL状态。

备注

hal_qspi_deinit

表 288 hal_qspi_deinit接口
函数原型

hal_status_t hal_qspi_deinit(qspi_handle_t *p_qspi)

功能说明

反初始化QSPI外设。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

HAL状态。

备注

hal_qspi_msp_init

表 289 hal_qspi_msp_init接口
函数原型

void hal_qspi_msp_init(qspi_handle_t *p_qspi)

功能说明

初始化QSPI所使用的GPIO引脚复用、NVIC中断、DMA通道等配置。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

备注

该函数为weak类型的空函数,开发者需重写该API完成GPIO引脚复用、NVIC中断、DMA通道的初始化。

hal_qspi_msp_deinit

表 290 hal_qspi_msp_deinit接口
函数原型

void hal_qspi_msp_deinit(qspi_handle_t *p_qspi)

功能说明

反初始化QSPI所使用的GPIO引脚复用、NVIC中断、DMA通道等配置。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

备注

该函数为weak类型的空函数,开发者需重写该API完成GPIO引脚复用、NVIC中断、DMA通道的反初始化。

hal_qspi_command_transmit

表 291 hal_qspi_command_transmit接口
函数原型

hal_status_t hal_qspi_command_transmit(qspi_handle_t *p_qspi, qspi_command_t *p_cmd, uint8_t *p_data, uint32_t timeout)

功能说明

发送数据(包含:指令,地址,数据),轮询方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_cmd:指向qspi_command_t结构体变量的指针,该结构体变量包含命令配置信息。

p_data:指向数据缓冲区的指针。

timeout:超时时间。

返回值

HAL状态。

备注

hal_qspi_command_receive

表 292 hal_qspi_command_receive接口
函数原型

hal_status_t hal_qspi_command_receive(qspi_handle_t *p_qspi, qspi_command_t *p_cmd, uint8_t *p_data, uint32_t timeout)

功能说明

接收数据(包含:指令,地址,dummy,数据),轮询方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_cmd:指向qspi_command_t结构体变量的指针,该结构体变量包含命令配置信息。

p_data:指向数据缓冲区的指针。

timeout:超时时间。

返回值

HAL状态。

备注

hal_qspi_command

表 293 hal_qspi_command接口
函数原型

hal_status_t hal_qspi_command(qspi_handle_t *p_qspi, qspi_command_t *p_cmd, uint32_t timeout)

功能说明

发送指令,轮询方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_cmd:指向qspi_command_t结构体变量的指针,该结构体变量包含命令配置信息。

timeout:超时时间。

返回值

HAL状态。

备注

该接口只用于轮询方式下的指令发送,可与hal_qspi_transmit()hal_qspi_receive()配合使用进行指令、地址、数据的收发,或者可直接使用hal_qspi_command_transmit()hal_qspi_command_receive()进行指令、地址、数据的收发。

hal_qspi_transmit

表 294 hal_qspi_transmit接口
函数原型

hal_status_t hal_qspi_transmit(qspi_handle_t *p_qspi, uint8_t *p_data, uint32_t length, uint32_t timeout)

功能说明

以SPI方式发送大量数据,轮询方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_data:指向数据缓冲区的指针。

length:待发送数据的长度。

timeout:超时时间。

返回值

HAL状态。

备注

该函数只在Standard SPI模式里使用。

hal_qspi_receive

表 295 hal_qspi_receive接口
函数原型

hal_status_t hal_qspi_receive(qspi_handle_t *p_qspi, uint8_t *p_data, uint32_t length, uint32_t timeout)

功能说明

以SPI方式接收大量数据,轮询方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_data:指向数据缓冲区的指针。

length:待接收数据的长度。

timeout:超时时间。

返回值

HAL状态。

备注

该函数只在Standard SPI模式里使用。

hal_qspi_command_transmit_it

表 296 hal_qspi_command_transmit_it接口
函数原型

hal_status_t hal_qspi_command_transmit_it(qspi_handle_t *p_qspi, qspi_command_t *p_cmd, uint8_t *p_data)

功能说明

发送数据((包含:指令,地址,数据),中断方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_cmd:指向qspi_command_t结构体变量的指针,该结构体变量包含命令配置信息。

p_data:指向数据缓冲区的指针。

返回值

HAL状态。

备注

传输过程中,QSPI中断处理无法及时响应,可能出现发送数据错误的情况。

hal_qspi_command_receive_it

表 297 hal_qspi_command_receive_it接口
函数原型

hal_status_t hal_qspi_command_receive_it(qspi_handle_t *p_qspi, qspi_command_t *p_cmd, uint8_t *p_data)

功能说明

接收数据((包含:指令,地址,dummy,数据),中断方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_cmd:指向qspi_command_t结构体变量的指针,该结构体变量包含命令配置信息。

p_data:指向数据缓冲区的指针。

返回值

HAL状态。

备注

传输过程中,QSPI中断处理无法及时响应,可能出现接收数据错误的情况。

hal_qspi_command_it

表 298 hal_qspi_command_it接口
函数原型

hal_status_t hal_qspi_command_it(qspi_handle_t *p_qspi, qspi_command_t *p_cmd)

功能说明

发送指令,中断方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_cmd:指向qspi_command_t结构体变量的指针,该结构体变量包含命令配置信息。

返回值

HAL状态。

备注

该接口只用于中断方式下的指令发送,可与hal_qspi_receive_it()hal_qspi_transmit_it()配合使用进行指令、地址、数据的收发,或者直接使用hal_qspi_command_receive_it()hal_qspi_command_transmit_it()进行指令、地址、数据的收发。

hal_qspi_transmit_it

表 299 hal_qspi_transmit_it接口
函数原型

hal_status_t hal_qspi_transmit_it(qspi_handle_t *p_qspi, uint8_t *p_data, uint32_t length)

功能说明

以SPI方式发送数据,中断方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_data:指向数据缓冲区的指针。

length:待发送数据的长度。

返回值

HAL状态。

备注
  • 该函数只在Standard SPI模式里使用。
  • 传输过程中,QSPI中断处理无法及时响应,可能出现发送数据错误的情况。

hal_qspi_receive_it

表 300 hal_qspi_receive_it接口
函数原型

hal_status_t hal_qspi_receive_it(qspi_handle_t *p_qspi, uint8_t *p_data, uint32_t length)

功能说明

以SPI方式接收数据,中断方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_data:指向数据缓冲区的指针。

length:待接收数据的长度。

返回值

HAL状态。

备注
  • 该函数只在Standard SPI模式里使用。
  • 传输过程中,QSPI中断处理无法及时响应,可能出现接收数据错误的情况。

hal_qspi_command_transmit_dma

表 301 hal_qspi_command_transmit_dma接口
函数原型

hal_status_t hal_qspi_command_transmit_dma(qspi_handle_t *p_qspi, qspi_command_t *p_cmd, uint8_t *p_data)

功能说明

发送数据(包含:指令,地址,数据),DMA方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_cmd:指向qspi_command_t结构体变量的指针,该结构体变量包含命令配置信息。

p_data:指向数据缓冲区的指针。

返回值

HAL状态。

备注

hal_qspi_command_receive_dma

表 302 hal_qspi_command_receive_dma接口
函数原型

hal_status_t hal_qspi_command_receive_dma(qspi_handle_t *p_qspi, qspi_command_t *p_cmd, uint8_t *p_data)

功能说明

接收数据(包含:指令,地址,dummy,数据),DMA方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_cmd:指向qspi_command_t结构体变量的指针,该结构体变量包含命令配置信息。

p_data:指向数据缓冲区的指针。

返回值

HAL状态。

备注

hal_qspi_command_dma

表 303 hal_qspi_command_dma接口
函数原型

hal_status_t hal_qspi_command_dma(qspi_handle_t *p_qspi, qspi_command_t *p_cmd)

功能说明

发送指令,DMA方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_cmd:指向qspi_command_t结构体变量的指针,该结构体变量包含命令配置信息。

返回值

HAL状态。

备注

该接口只用于DMA方式下的指令发送,可与hal_qspi_receive_dma()hal_qspi_transmit_dma()配合使用进行指令、地址、数据的收发,或者可直接使用hal_qspi_command_receive_dma()hal_qspi_command_transmit_dma()进行指令、地址、数据的收发。

hal_qspi_transmit_dma

表 304 hal_qspi_transmit_dma接口
函数原型

hal_status_t hal_qspi_transmit_dma(qspi_handle_t *p_qspi, uint8_t *p_data, uint32_t length)

功能说明

以SPI方式发送数据,DMA方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_data:指向数据缓冲区的指针。

length:待发送数据的长度。

返回值

HAL状态。

备注

该函数只在Standard SPI模式里使用:

  • 如果DMA外围设备访问被配置为半字节,那么数据长度和fifo阈值应该以半字节对齐。
  • 如果DMA外围设备访问被配置为字节,那么数据长度和fifo阈值应该以字节对齐。

hal_qspi_receive_dma

表 305 hal_qspi_receive_dma接口
函数原型

hal_status_t hal_qspi_receive_dma(qspi_handle_t *p_qspi, uint8_t *p_data, uint32_t length)

功能说明

以SPI方式接收数据,DMA方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

p_data:指向数据缓冲区的指针。

length:待接收数据的长度。

返回值

HAL状态。

备注

该函数只在Standard SPI模式里使用:

  • 如果DMA外围设备访问被配置为半字节,那么数据长度和fifo阈值应该以半字节对齐。
  • 如果DMA外围设备访问被配置为字节,那么数据长度和fifo阈值应该以字节对齐。

hal_qspi_abort

表 306 hal_qspi_abort接口
函数原型

hal_status_t hal_qspi_abort(qspi_handle_t *p_qspi)

功能说明

中止中断及DMA方式下的数据传输,轮询方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

HAL状态。

备注

hal_qspi_abort_it

表 307 hal_qspi_abort_it接口
函数原型

hal_status_t hal_qspi_abort_it(qspi_handle_t *p_qspi)

功能说明

中止中断及DMA方式下的数据传输,中断方式。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

HAL状态。

备注

hal_qspi_irq_handler

表 308 hal_qspi_irq_handler接口
函数原型

void hal_qspi_irq_handler(qspi_handle_t *p_qspi)

功能说明

处理QSPI中断请求。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

备注

hal_qspi_tx_cplt_callback

表 309 hal_qspi_tx_cplt_callback接口
函数原型

void hal_qspi_tx_cplt_callback(qspi_handle_t *p_qspi)

功能说明

发送完成回调。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_qspi_rx_cplt_callback

表 310 hal_qspi_rx_cplt_callback接口
函数原型

void hal_qspi_rx_cplt_callback(qspi_handle_t *p_qspi)

功能说明

接收完成回调。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_qspi_error_callback

表 311 hal_qspi_error_callback接口
函数原型

void hal_qspi_error_callback(qspi_handle_t *p_qspi)

功能说明

传输错误回调。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_qspi_abort_cplt_callback

表 312 hal_qspi_abort_cplt_callback接口
函数原型

void hal_qspi_abort_cplt_callback(qspi_handle_t *p_qspi)

功能说明

中止完成回调。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_qspi_get_state

表 313 hal_qspi_get_state接口
函数原型

hal_qspi_state_t hal_qspi_get_state(qspi_handle_t *p_qspi)

功能说明

获取QSPI运行状态。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

QSPI运行状态,该参数的取值可以是下列值中的任意一个:

  • HAL_QSPI_STATE_RESET(未初始化)
  • HAL_QSPI_STATE_READY(已初始化且空闲)
  • HAL_QSPI_STATE_BUSY(忙)
  • HAL_QSPI_STATE_BUSY_INDIRECT_TX(正在发送)
  • HAL_QSPI_STATE_BUSY_INDIRECT_RX (正在接收)
  • HAL_QSPI_STATE_ABORT(被中断)
  • HAL_QSPI_STATE_ERROR(错误)
备注

hal_qspi_get_error

表 314 hal_qspi_get_error接口
函数原型

uint32_t hal_qspi_get_error(qspi_handle_t *p_qspi)

功能说明

获取QSPI错误码。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

QSPI错误代码,该参数的取值可以是下列值中的任意一个:

  • HAL_QSPI_ERROR_NONE(无错误)
  • HAL_QSPI_ERROR_TIMEOUT(超时)
  • HAL_QSPI_ERROR_TRANSFER(传输错误)
  • HAL_QSPI_ERROR_DMA(DMA传输错误)
  • HAL_QSPI_ERROR_INVALID_PARAM(非法参数)
备注

hal_qspi_set_timeout

表 315 hal_qspi_set_timeout接口
函数原型

void hal_qspi_set_timeout(qspi_handle_t *p_qspi, uint32_t timeout)

功能说明

设置QSPI超时时间。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

timeout:QSPI内存访问超时时间。

返回值

备注

hal_qspi_set_tx_fifo_threshold

表 316 hal_qspi_set_tx_fifo_threshold接口
函数原型

hal_status_t hal_qspi_set_tx_fifo_threshold(qspi_handle_t *p_qspi, uint32_t threshold)

功能说明

设置QSPI TX FIFO阈值。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

threshold:待设置的TX FIFO阈值(取值范围0 ~ 7,其中0表示TX FIFO为空,7表示TX FIFO差一个字节满)。

返回值

HAL状态

备注

hal_qspi_set_rx_fifo_threshold

表 317 hal_qspi_set_rx_fifo_threshold接口
函数原型

hal_status_t hal_qspi_set_rx_fifo_threshold(qspi_handle_t *p_qspi, uint32_t threshold)

功能说明

设置QSPI RX FIFO阈值。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

threshold:待设置的RX FIFO阈值(取值范围0 ~ 7,其中0表示RX FIFO中有一个字节,7表示RX FIFO满)。

返回值

HAL状态

备注

hal_qspi_get_tx_fifo_threshold

表 318 hal_qspi_get_tx_fifo_threshold接口
函数原型

uint32_t hal_qspi_get_tx_fifo_threshold(qspi_handle_t *p_qspi)

功能说明

获取QSPI TX FIFO阈值。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

TX FIFO阈值(取值范围0 ~ 7,其中0表示TX FIFO为空,7表示TX FIFO差一个字节满)。

备注

hal_qspi_get_rx_fifo_threshold

表 319 hal_qspi_get_rx_fifo_threshold接口
函数原型

uint32_t hal_qspi_get_rx_fifo_threshold(qspi_handle_t *p_qspi)

功能说明

获取QSPI RX FIFO阈值。

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

RX FIFO阈值(取值范围0 ~ 7,其中0表示RX FIFO中有一个字节,7表示RX FIFO满)。

备注

hal_qspi_suspend_reg

表 320 hal_qspi_suspend_reg接口
函数原型

hal_status_t hal_qspi_suspend_reg(qspi_handle_t *p_qspi)

功能说明

睡眠时挂起QSPI配置相关的寄存器

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

HAL状态

备注

hal_qspi_resume_reg

表 321 hal_qspi_resume_reg接口
函数原型

hal_status_t hal_qspi_resume_reg(qspi_handle_t *p_qspi)

功能说明

唤醒时恢复QSPI配置相关的寄存器

输入参数

p_qspi:指向qspi_handle_t结构体变量的指针,该结构体变量包含指定的QSPI的配置信息。

返回值

HAL状态

备注

扫描关注

打开微信,使用“扫一扫”即可关注。