我遇到了与此帖非常相似的问题:TIva C Series problems with I2C Interface
我正在使用Energia通过SPI对Tiva C系列TI Launchpad(TM4C123处理器)进行编程。我想使用nRFL01 +芯片发送数据,但每当我尝试读取寄存器时,它都会返回默认的STATUS
寄存器。
我知道这个寄存器信息是在每个SPI事务开始时用nRF24L01 +发送的,所以我最初猜测我的MISO
/ MOSI
配置存在问题。为了对此进行调试,我将MISO
和MOSI
一起插入,并且每次都收到预期的ping数据。
至于测试SCK
或CSN
引脚的问题,据我所知,我需要一台示波器,我没有。
您认为这是Energia的软件问题吗?
答案 0 :(得分:3)
我实际上已经找到了如何在发布问题之前解决我的问题,但我认为它可能对其他人有帮助,所以无论如何我都会发布它并且我会写下我如何解决它。
基本上,我认为CSN
引脚在发送的每个字节都被切换为低电平然后高电平,即使nRF24L01 +芯片需要它保持低电平以便多个字节正确传输信息。我没有使用默认的CSN
引脚,而是随机使用了另一个引脚,并在传输字节之前和之后自行切换。
我认为这是Energia中SPI.transfer
例程的一个问题,虽然我还没有找到它(可能会非常有趣地深入了解SPI库以向Energia提出补丁,但是这个对我来说太复杂了。)