如何使用QSPI驱动
QSPI HAL驱动使用方法如下:
- 声明一个qspi_handle_t句柄结构体,例如:qspi_handle_t qspi_handle。
- 重写hal_qspi_msp_init() API以初始化QSPI底层资源:
- 配置QSPI引脚:调用hal_gpio_init()配置GPIO模式为GPIO_MODE_MUX(复用模式),并将相应的GPIO的复用功能配置为QSPI。
- 如果开发者要使用中断流程(hal_qspi_transmit_it()和hal_qspi_receive_it()),则需通过调用相关的NVIC接口来配置:
- 调用hal_nvic_set_priority()配置QSPI中断优先级。
- 调用hal_nvic_enable_irq()使能QSPI中断处理。
- 如果开发者要使用DMA流程(hal_qspi_transmit_dma()和hal_qspi_receive_dma()),则需配置DMA:
- TX/RX通道只需要声明一条DMA通道。
- 为TX/RX通道声明DMA句柄结构体,例如:dma_handle_t hdma。
- 使用所需的TX/RX参数配置声明的DMA句柄结构体。
- 配置DMA TX/RX信道。
- 将初始的DMA句柄关联到QSPI DMA TX/RX句柄。
- 在DMA TX/RX信道上配置优先级和使能传输完成中断。
- 配置qspi_handle句柄的init结构体中的时钟分频等参数。
- 调用hal_qspi_init() API初始化QSPI寄存器。