工具与软件:
感谢您对此提供任何建议:
我正在连接到 CMOSTEK CMT2300A RFM300HW HopeRF 模块。 我必须争用(参考 P27/46 CMT2300A_EN_V1.0手动)"要注意、在读取寄存器时、MCU 和 CMT2300A 必须在地址位0和数据位7之间切换其 IO (SDIO)的方向。 需要 MCU 在发送 SCLK 的下降沿之前将 IO 切换到输入模式;CMT2300A 应在它看到 SCLK 的下降沿之后将 IO 切换到输出模式。 这可以避免 SDIO 发生数据争用(MCU 和 CMT2300A 同时将 SDIO 设置为输出模式)、这将导致意外的电气问题。"
我在 CPU 控制器输出线路上有一个电阻器 R14、如果射频模块和 CPU 决定同时输出、可以尝试用它来节省消耗的电量。
排除 Bitbanging 一切,什么是最好的方式来使这项工作? 我在软件中手动驱动 SPI 芯片选择、以便只要我需要、它就保持启用状态。
1.创建一个略低于最后一位完成传输时间的计时器中断、并将 SPI_PICO 引脚重新配置为输入、以便它在 SPI_CLK 转换之前停止驱动、从而使射频模块能够启动 TX
2.当从 CPU 向射频模块发送 SPI_PICO 寄存器地址时、将帧格式设置为7位以发送位7至1、然后通过将 SPI 引脚重新配置为 GPIO 和位拆裂最后一位来在软件中单独处理最后一位、然后再更改以读取寄存器数据?