This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/MSP-EXP430FR2355:连接 nRF24L01+时出现 MSP430FR2355问题(ENERGIA)

Guru**** 2587345 points
Other Parts Discussed in Thread: ENERGIA, MSP430FR2433, MSP430FR2355

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/792780/compiler-msp-exp430fr2355-msp430fr2355-problem-to-connect-with-nrf24l01-energia

器件型号:MSP-EXP430FR2355
主题中讨论的其他器件:EnergiaMSP430FR2433MSP430FR2355

工具/软件:TI C/C++编译器

您好!

我最近购买 了 MSP-EXP430FR2355 Launch Pad 来使用 NRF24L01+构建气象站、因此我已经为 ENERGIA 使用了特定的 Enrf24.h 库。
下面的代码已经与我 的 MSP-EXP430FR2433一同工作 、但是不与我的新 MSP-EXP430FR2355一同工作。

我无法使用 MSP430FR2433、因为它没有足够的内存来添加温度传感器 BME280以及传感器所需的所有代码...
另一方面、我可以通过 FR2433发送的 Raspberry Pi 来接收信息、但不能通过 FR2355接收信息。

#include 
#include 
#include 
#include 

//Enrf24无线电(P1_7、P2_2、P3_2);//对 MSP430FR2433 P1.7=CE、P2.2=CSn 进行布线、 P3.2=IRQ -> MOSI P2.6、MISO P2.5、SCK P2.4

Enrf24无线电(P5_4、P5_0、P5_1);//对 MSP430FR2355 P2.0=CE、P2.1=CSn 进行布线、 P2.2=IRQ -> MOSI P1.6、MISO P1.7、SCK P1.5

const uint8_t txaddr[]={0xDE、0xAD、0xBE、0xEF、0x01};

const char * str_on ="ON65";
const char * str_off ="OFF65";

void setup(){
Serial.begin(9600);
Serial.println ("RED10");

SPI.begin();
SPI.setDataMode(SPI_MODE0);
SPI.setBitOrder(1);// MSB-first

radio.begin (1000000,76);
radio.setCRC (1、1);
//radio.begin();//默认值1Mbps,通道0, 最大 TX 功率
radio.setSpeed(250000);

radio.setTXaddress((void*)txaddr);
// Serial.println ("RED10");

Serial.print ("状态:");
Serial.println (radio.radioState ());

Serial.print ("速度:");
serial.println (radio.getSpeed ());
}

void loop (){

serial.println ("on_1");
radio.print (str_on);
radio.flush ();//强制传输(不要等待更多数据)

delay (1000);
Serial.println ("off_1");
radio.print (str_off);
radio.flush ();//

延迟(1000);
//Serial.println ("绿色");
}

MSP430FR2433的状态:1、速度:250000、这是逻辑

MSP430FR2355状态:0、速度:1000000


当我们进入循环并仅显示 ON_1时、代码停止、我认为它是 SPI、但它可以是库本身

感谢您的帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Maxime:

    我认为 FR2433和 FR2355之间的区别在于 SPI 引脚和 USCI-SPI 模块配置。  请查看 SPI 配置代码以确保 SPI 通信正确。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我尝试仅激活 USCI-SPI 模式、但我认为在 ENERGIA 中、MSP430FR2355不支持此选项、那么您是否有适合我的解决方案?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否使用示波器捕获 SPI 通信信号并了解其停止的原因?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我更改了 CSn CE 和 IRQ、代码不会在 ON_1停止、但它不会发送任何消息!

    #include 
    #include 
    #include 
    #include 
    
    Enrf24无线电(P1_3、P1_4、P2_2);//为 MSP430FR2355 P1_3=CE、P1_4=CSn 布线、 P2_2=IRQ -> MOSI P1.6、MISO P1.7、SCK P1.5
    
    const uint8_t txaddr[]={0xDE、0xAD、0xBE、0xEF、0x01};
    
    const char * str_on ="ON65";
    const char * str_off ="OFF65";
    
    void setup(){
    Serial.begin(9600);
    Serial.println ("RED10");
    
    SPI.begin();
    SPI.setDataMode(SPI_MODE0);
    SPI.setBitOrder(1);// MSB-first
    
    radio.begin (1000000,76);
    radio.setCRC (1、1);
    //radio.begin();//默认值1Mbps,通道0, 最大 TX 功率
    radio.setSpeed(250000);
    
    radio.setTXaddress((void*)txaddr);
    // Serial.println ("RED10");
    
    Serial.print ("状态:");
    Serial.println (radio.radioState ());
    
    Serial.print ("速度:");
    serial.println (radio.getSpeed ());
    }
    
    void loop (){
    
    serial.println ("on_1");
    radio.print (str_on);
    radio.flush ();//强制传输(不要等待更多数据)
    
    delay (1000);
    Serial.println ("off_1");
    radio.print (str_off);
    radio.flush ();//
    
    延迟(1000);
    } 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Serial.println 是否使用 UART 接口? 哪个 EUSCI-UART 模块? 您能否使用 UART 基本代码示例确保 UART 通信正确。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的,我认为 serial.println 与 SPI 有冲突,如何选择 USCI 使用哪个模块通过 Energia 将 UART 模块与 SPI 分离?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Energia 是第三方工具。 我不熟悉这个。 您可以在 Energia 论坛43oh.com 中寻求帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SPI 存在问题。 由于 MSP430FR2355 pins_energia.h 头文件中的引脚不正确、因此 SPI 库中的引脚和寄存器设置错误。

    请将随附的 pins_energia.h 复制到 MSP-EXP430FR2355LP variants 目录。

    • 窗口: \hardware\Energia\MSP430\variants\MSP-EXP430FR2355LP
    • Linux: /hardware/energia/msp430/variants/MSP-EXP430FR2355LP
    • macOS: energia.app/Contents/java/hardware/energia/MSP430/variant/MSP-EXP430FR2355LP

    在此处下载全新的 PIN_Energia: https://forum.43oh.com/applications/core/interface/file/attachment.php?id=10212