介绍关于QSPI初始化、端口收发数据、设置、关闭端口等功能所调用的一些抽象函数。

API列表

函数名称 功能描述
hal_qspi_init 初始化指定QSPI端口
hal_qspi_send 从指定的QSPI端口发送数据
hal_qspi_recv 从指定的QSPI端口接收数据
hal_qspi_command 设置QSPI命令
hal_qspi_auto_polling 设置QSPI查询模式
hal_qspi_finalize 关闭指定QSPI端口

hal_qspi_init

定义描述
定义 描述
函数原型 int32_t hal_qspi_init(qspi_dev_t *qspi)
描述 初始化指定QSPI端口
参数 qspi:QSPI设备描述,定义需要初始化的QSPI参数
返回值 返回成功或失败,返回0表示QSPI初始化成功,非0表示失败

hal_qspi_send

定义描述
定义 描述
函数原型 int32_t hal_qspi_send(qspi_dev_t *qspi, const uint8_t *data, uint32_t timeout)
描述 从指定的QSPI端口发送数据
参数
  • qspi:QSPI设备描述
  • data:指向发送缓冲区的数据指针
  • timeout:超时时间(单位ms),如果希望一直等待设置为HAL_WAIT_FOREVER
返回值 返回成功或失败,返回0表示数据发送成功,非0表示失败

hal_qspi_recv

定义描述
定义 描述
函数原型 int32_t hal_qspi_recv(qspi_dev_t *qspi, uint8_t *data, uint32_t timeout)
描述 从指定的QSPI端口接收数据
参数
  • qspi:QSPI设备描述
  • data:指向接收缓冲区的数据指针
  • timeout:超时时间(单位ms),如果希望一直等待设置为HAL_WAIT_FOREVER
返回值 返回成功或失败,返回0表示数据接收成功,非0表示失败

hal_qspi_command

定义描述
定义 描述
函数原型 int32_t hal_qspi_command(qspi_dev_t *qspi, qspi_cmd_t *cmd, uint32_t timeout)
描述 设置QSPI命令
参数
  • qspi:QSPI设备描述
  • cmd:命令字
  • timeout:超时时间(单位ms),如果希望一直等待设置为HAL_WAIT_FOREVER
返回值 返回成功或失败,返回0表示QSPI命令设置成功,非0表示失败

hal_qspi_auto_polling

定义描述
定义 描述
函数原型 int32_t hal_qspi_auto_polling(qspi_dev_t *qspi, uint32_t cmd, uint32_t timeout)
描述 设置QSPI查询模式
参数
  • qspi:QSPI设备描述
  • cmd:命令字
  • timeout:超时时间(单位ms),如果希望一直等待设置为HAL_WAIT_FOREVER
返回值 返回成功或失败,返回0表示QSPI查询模式设置成功,非0表示失败

hal_qspi_finalize

定义描述
定义 描述
函数原型 int32_t hal_qspi_finalize(qspi_dev_t *qspi)
描述 关闭指定QSPI端口
参数 qspi:QSPI设备描述
返回值 类型:int 返回成功或失败,返回0表示关闭成功,非0表示失败

qspi_dev_t数据结构

typedef struct {
    uint8_t       port;   /* qspi port */
    qspi_config_t config; /* qspi config */
    void         *priv;   /* priv data */
} qspi_dev_t;

qspi_config_t数据结构

typedef struct {
    uint32_t freq; /* communication frequency Hz */
} qspi_config_t;

qspi_cmd_t数据结构

typedef struct {
    uint32_t instruction; /* qspi instruction */
    uint32_t address;     /* qspi cmd address */
    uint32_t size;        /* qspi cmd size */
} qspi_cmd_t;