您好!
我正在编写您的官方参考指南、其中包含为 MSP2618制作的源代码。 我为 STM32F407VGT 创建了一个接口工作端口、目前正在尝试使 per_test.c 项目正常工作。 我已经根据 连接到 STM32F4的 TI 参考设计(与 www.ti.com/.../cc2520emk 几乎相同)印刷了 PCB 板。 发送器是一个 STM32F4+CC2520分线板、接收器是另一个具有自己 CC2520分线板的 STM32F4。
整个项目功能齐全、SPI 命令正常工作、寄存器读取、写入指令也正常工作。 我可以将 CC2520-GPIO 线路配置为任何可用的异常/信号、等等。
但是、当我发出 SRXON 选通命令时、我可以看到器件处于 RX 模式(对于我来说、GPIO5上的 RX_ACTIVE 标志)、但是当我尝试通过 SPI 发送另一个选通时、整个芯片复位-所有内部寄存器都恢复为默认状态。 EXCFLAGx 寄存 器通知我 RX_OVERflow 和 SPI_ERROR 异常已经出现、但是 RXFIFOCNT 为0x00、并且没有其他指示 RX 成功的指示器出现。
是否应考虑对 SRXON 命令的特殊处理? 无论是尝试从状态寄存器中读取数据、还是请求 SNOP 选通或其他任何内容、似乎会使下一条命令的 SPI 接口混乱。
总结:
当我发送一个 SRXON 选通脉冲时、芯片进入 RX 模式。
在我通过 SPI 发送一个新命令(在 SRXON 之后、立即或者在一个特定的延迟之后)后、芯片完全复位-包括初始 GPIOCTRLx 配置。
其他所有功能均正常工作:所有预期的 SPI 功能以及与 GPIO 线路相关的功能。
如何解决此问题?
此致、
Dominik Perkovic