我的团队一直在尝试使用CC2520通过CC2520发送数据 MSPEXP430F5438板。我们尝试使用FIFO_READ和FIFO_WRITE 命令,但没有用。我们也尝试过使用RAM_READ和 RAM_WRITE命令但结果仍然相同。我们查了一下 接口MSP430和CC2520似乎很好。任何人都可以 提出一些方法来找出问题所在(发件人/收件人)?
此致,Pratyush
答案 0 :(得分:2)
在较高的层面上,CC2520是一个SPI控制的状态机。这意味着无线电收发器需要特定的命令序列来发送或接收数据。
我建议在CC2520 Datasheet内查看第21节(第85页,写作时)。另外,第19节和第20节分别显示了TX和RX过程。
SmartRF Studio通常是最简单的入门方式,因为它有一个完整的无线电GUI界面。但是,您可能需要购买CC2520 dev kit或拥有CC2520支持的基板。我相信MSP-EXP430F5438 board不支持SmartRF Studio,但我无法轻易找到答案。我知道SmartRF studio在您启动软件时会识别MSP-EXP430F5438,但我不确定该软件是否可以将MSP-EXP430F5438用作无线电桌面GUI控制的基板。
如果您想在MSP-EXP430F5438和CC2520上编写“hello world”,我建议您使用TI提供的sample code用于CC2520,并仔细阅读CC2520 page。
对于TI的CCxxxx无线电,在C伪代码中,要发送/发送消息,您可以执行以下操作:
SPI_Strobe(IDLE); /* Reset radio state machine to 'start' state (IDLE) */
SPI_WriteBurstReg(TXFIFO, tx_data, tx_data_length); /* Write data to TX FIFO */
SPI_Strobe(TX); /* Start radio transmission */
_BIS(LPM3+GIE); /* While TX finishes, sleep MCU with general interrupt enable */
/* Use GPIO to interrupt. When TX is finished, RETI from ISR */
/* and continue to next line */
SPI_Strobe(FLUSH_TXFIFO); /* Flush TX buffer (optional) */
SPI_Strobe(IDLE); /* Reset radio state machine to 'start' state (IDLE)
/* Can auto enter IDLE when TX done - see doc. */
SPI_Strobe(PWR_DOWN); /* Turn off radio to save power (optional) */
上面,我使用全大写来表示头文件中的静态地址/字节定义。