您好!
simplelink_cc13x2_26x2_SDK_4_10_00_78运行修改后的收集器示例 TI15.4
有时我的 SPI 会失败。 调试时、程序运行到 NOROM_RFCDoorSendto 的某个位置、并且永远处于循环中。
有人能告诉我这个代码是什么吗?
Andy
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
simplelink_cc13x2_26x2_SDK_4_10_00_78运行修改后的收集器示例 TI15.4
有时我的 SPI 会失败。 调试时、程序运行到 NOROM_RFCDoorSendto 的某个位置、并且永远处于循环中。
有人能告诉我这个代码是什么吗?
Andy
尊敬的 Andy:
RFCDoorSendto 是 一个 TI-RTOS 射频内核 CC13XX DriverLib 函 数、用于向门铃发送命令并等待 ACK。 请分享您对 TI 15.4-Stack 收集器示例所做的哪些更改会导致此问题。 如果 可能、请务必参考 TI 驱动程序 SPI 示例。 另请注意 、收集器示例 包括一个 UART UI、 而协处理器 涉及通过 MT UART 接口进行主机处理器通信、但您可以了解应用是否需要 SPI。
此致、
Ryan
您好!
感谢您的回复。 虽然我说我的应用程序基于收集器示例、但它与原始应用程序相比有很大的变化。 我编写了自己的 SPI 驱动程序、根据消息大小在基于 ISR 的 DMA 和 DMA 之间切换。 它是使用路由器的网络的一部分。
除了我从外部主器件发送包含错误的持续 SPI 消息、我正在执行这些操作来测试稳健性之外、所有功能都能正常工作。 我有一个从 HWI 调用的 SWI、HWI 反过来调用一个 SPI 取消例程。 自第一篇帖子以来、我发现我可以通过以下任一方式解决问题:
1) 1)直接从 HWI 调用 SPI 取消例程、以便不使用 SWI、或
2) 2)在 app.cfg 中设置 Task.enableIdleTask = false。
因此、我认为 RTOS 不会为 SPI 取消例程提供服务并处于空闲状态。 我只使用一个 SWI 并使用 Swi_post、因此触发值不起作用。
可能是由于某种原因处理器进入空闲状态并导致问题。 它肯定与时序相关、因为它仅在我发送连续的不良 SPI 命令时发生故障。
谢谢、
Andy