带有nRF24L01 + SPI的Tiva C系列始终返回STATUS寄存器

时间:2015-05-05 18:49:42

标签: embedded spi

我遇到了与此帖非常相似的问题:TIva C Series problems with I2C Interface

我正在使用Energia通过SPI对Tiva C系列TI Launchpad(TM4C123处理器)进行编程。我想使用nRFL01 +芯片发送数据,但每当我尝试读取寄存器时,它都会返回默认的STATUS寄存器。

我知道这个寄存器信息是在每个SPI事务开始时用nRF24L01 +发送的,所以我最初猜测我的MISO / MOSI配置存在问题。为了对此进行调试,我将MISOMOSI一起插入,并且每次都收到预期的ping数据。

至于测试SCKCSN引脚的问题,据我所知,我需要一台示波器,我没有。

您认为这是Energia的软件问题吗?

1 个答案:

答案 0 :(得分:3)

我实际上已经找到了如何在发布问题之前解决我的问题,但我认为它可能对其他人有帮助,所以无论如何我都会发布它并且我会写下我如何解决它。

基本上,我认为CSN引脚在发送的每个字节都被切换为低电平然后高电平,即使nRF24L01 +芯片需要它保持低电平以便多个字节正确传输信息。我没有使用默认的CSN引脚,而是随机使用了另一个引脚,并在传输字节之前和之后自行切换。

我认为这是Energia中SPI.transfer例程的一个问题,虽然我还没有找到它(可能会非常有趣地深入了解SPI库以向Energia提出补丁,但是这个对我来说太复杂了。)