欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

TC397QSPI

时间:2023-06-01
Hardware Setup



配置QSPI

initQSPI() 函数初始化了Master和Slave端。

QSPI Slave initialization

相关操作在IfxQspi_SpiSlave.h中

QSPI 从模块的初始化是通过定义 IfxQspi_SpiSlave_Config 结构的实例来完成的。
该结构由函数填充默认值 IfxQspi_SpiSlave_initModuleConfig()。
然后,设置引脚、ISR 终端服务与优先级。
IfxQspi_SpiSlave_initModule() 函数用于初始化 QSPI 从模块。
此外,初始化 QSPI 从机使用的缓冲区。

QSPI Master initialization

相关操作在 IfxQspi_SpiMaster.h

QSPI 主模块的初始化是通过定义 IfxQspi_SpiMaster_Config 结构的实例来完成的。
该结构由函数填充默认值 IfxQspi_SpiMaster_initModuleConfig()。
之后,设置接口操作模式、引脚、ISR 中断服务和优先级。
IfxQspi_SpiMaster_initModule()函数用于初始化QSPI主模块
一个 QSPI 模块控制 16 个可单独编程的通信通道。 在此示例中,函数 initQSPI2MasterChannel() 使用结构 IfxQspi_SpiMaster_ChannelConfig 的实例初始化通道零。 然后通过参数 sls.output 设置从机选择通道号,通过参数 base.baudrate 修改波特率。
IfxQspi_SpiMaster_initChannel() 函数用于初始化 QSPI 主通道。
此外,QSPI 主机使用的缓冲区也被初始化。

QSPI Master - Slave communication

函数 transferData() 触发 SPI-Master 和 SPI-Slave 之间的数据传输。

IfxQspi_SpiSlave_getStatus() 和 IfxQspi_SpiMaster_getStatus() 函数用于检查主机和从机的状态,以便延迟传输直到两者都空闲。

函数 IfxQspi_SpiSlave_exchange() 指示从机接收预定义长度的数据流。
调用函数 IfxQspi_SpiMaster_exchange() 以指示主机发送数据。
最后,函数 verifyData() 检查 Slave 接收到的数据是否与 Master 发送的数据匹配。
如果在通信过程中没有发生错误,则连接到端口引脚 13.3 的 LED D110 会亮起,表示传输成功

Run and Test

代码编译和设备编程后,执行以下步骤:
1.在 Cpu0_main.c 中为 transferData() 设置断点,并检查 spiBuffers 结构中的 spiMasterTxBuffer 和 spiSlaveRxBuffer。
2.运行代码示例并检查 LED D110 (1) 是否亮起(数据传输无误)。
3.spiMasterTxBuffer 和 spiSlaveRxBuffer 现在应该显示相同的发送和接收数据。
4.移除电缆(例如 SCLKx),执行复位并重新运行应用程序以查看数据传输中断且 LED D110 (1) 熄灭(数据传输受阻)。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。