完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 TC397,试图使用同一个 SPI 模块(QSPI1)与两个从机通信。
我为两个从机配置了 SPI,其中一个使用 SLSO3_P11_10,另一个使用 SLSO4_P11_11。 初始配置后,我只能与最后配置的设备通信,我想找到一种方法,在与每个设备通信前切换 SLSO。 我正在使用 iLLD,并尝试使用不同的方法来更改 CS。 通常情况下,每个设备都有自己的配置结构,当我为特定设备调用IfxQspi_SpiMaster_write 时,CS 应自动更改,但不知何故,它不想更改。 到目前为止行之有效的方法: -使用 IfxQspi_setSlaveSelectOutputControl 启用所需的 SLSO -使用 IfxQspi_writeBasicConfigurationEndStream,然后进行虚拟写入,推送 TxFiFo 并更新寄存器 -通过 BACONENTRY 手动更改 QSPI1.BACON.B.CS 寄存器 所有选项都不起作用,我想知道是否有可能这样更改 CS。 如果有任何提示,我们将不胜感激。 |
|
相关推荐
1个回答
|
|
要为 QSPI 模块使用两个 CS/SLSO,您可以按照以下步骤操作:
1. 初始化 QSPI 模块:首先,您需要初始化 QSPI 模块并配置其参数,如波特率、数据位等。您可以使用 `IfxQspi_InitConfig` 函数来完成这个任务。 2. 配置 QSPI 从机:为每个从机创建一个配置结构,例如 `IfxQspi_SlaveConfig`。在这个结构中,您可以设置从机的特定参数,如 SLSO 引脚。例如: ```c IfxQspi_SlaveConfig slaveConfig1 = { .sso = IfxQspi_Sso_3, .csPolarity = IfxQspi_CsPolarity_activeLow }; IfxQspi_SlaveConfig slaveConfig2 = { .sso = IfxQspi_Sso_4, .csPolarity = IfxQspi_CsPolarity_activeLow }; ``` 3. 设置 SLSO 控制:使用 `IfxQspi_setSlaveSelectOutputControl` 函数启用所需的 SLSO。例如: ```c IfxQspi_setSlaveSelectOutputControl(&MODULE_QSPI1, IfxQspi_Sso_3, TRUE); ``` 4. 切换 SLSO:在与每个设备通信之前,您需要切换 SLSO。您可以使用 `IfxQspi_setSlaveSelectOutputControl` 函数来实现这一点。例如,要切换到从机 2,您可以这样做: ```c IfxQspi_setSlaveSelectOutputControl(&MODULE_QSPI1, IfxQspi_Sso_3, FALSE); IfxQspi_setSlaveSelectOutputControl(&MODULE_QSPI1, IfxQspi_Sso_4, TRUE); ``` 5. 与从机通信:使用 `IfxQspi_SpiMaster_write` 或其他相关函数与从机进行通信。在调用这些函数之前,请确保已正确设置 SLSO 控制。 6. 切换回原始 SLSO:在与第二个从机通信完成后,您可以切换回原始 SLSO,以便与第一个从机通信。例如: ```c IfxQspi_setSlaveSelectOutputControl(&MODULE_QSPI1, IfxQspi_Sso_4, FALSE); IfxQspi_setSlaveSelectOutputControl(&MODULE_QSPI1, IfxQspi_Sso_3, TRUE); ``` 通过遵循这些步骤,您应该能够使用同一个 QSPI 模块与两个从机通信,并在它们之间切换 SLSO。请注意,您可能需要根据您的具体硬件和软件环境调整这些步骤。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教个XMC1404调试串口接收时为什么一直无法接收数据的问题
377 浏览 0 评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6437 浏览 2 评论
4112 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3639 浏览 9 评论
1236 浏览 8 评论
468浏览 2评论
276浏览 2评论
387浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6447浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
472浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 09:32 , Processed in 0.436056 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号