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.

[参考译文] MSP430G2553:与Nordic nRF24L01收发器连接

Guru**** 2535750 points
Other Parts Discussed in Thread: MSP430G2553

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/580921/msp430g2553-interfacing-with-nordic-nrf24l01-transceivers

部件号:MSP430G2553
主题中讨论的其他部件: MSP-EXP430G2

数周以来,我一直在尝试将MSP430G2553与nRF24L01收发器连接起来。 我完全按照这个论坛的指示行事:

forum.43oh.com/.../

很遗憾,我无法注册该论坛(网站问题)以提问,所以我现在就在这里。 为接收器提供的示例代码似乎工作正常。 我能够测量针脚电压并监控接收器的电流消耗。 但是,发射器似乎未按预期工作。 CE针脚将不会高电平。 即使我强行将其拉高,发射器也不会消耗任何电流。 下面是代码:

#include <SPI.h>
#include <Enrf24.h>
#include <nRF24L01.h>
#include <string.h>


Enrf24收音机(P2_0, P2_1,P2_2); // WFP 2.0 = CE, WFP 2.1 = CSN, WFP 2.2 = IRQ
const uint8_t txaddr[]={ 0xDE,0xAD,0xBE,0xEF,0x01 };

const char *str_on ="on";
const char *str_off ="off";

void dump_radio_status_to_serialport(uint8_t);

void setup(){
 Serial.begin(9600);

 SPI.begin();
 SPI.setDataMode(SPI_MODE0);
 SPI.setBitOrder(MSBFIRST);

 radio.begin(); //默认值1Mbps,通道0,最大TX功率
 dump_radio_status_to_serialport(radio.radioState());

 radio.setTXaddress((void*)txaddr);

//我的代码添加(LED闪烁)。 这可确保微控制器准备就绪/处于活动状态。
  PinMode (P1_0,输出);
  DigitalWrite (P1_0,低);
  int x=0;
  易失性int状态=高;
  易失性int标志=高;
 DigitalWrite (P1_0,状态);
 同时(x<15)
 {
 DigitalWrite (P1_0,HIGH);  //打开LED (高为电压电平)
 DELAY (100);              //等待1/10秒
 DigitalWrite (P1_0,LOW);   //通过降低电压关闭LED
 DELAY (100);              //等待1/10秒
 x=x+1;
 }

//结束闪烁LED


}


void loop(){
 serial.print ("正在发送数据包:");
 serial.println(str_on);
 radio.print (str_on);
 radio.flush(); //强制传输(不要等待更多数据)
 dump_radio_status_to_serialport(radio.radioState()); //应报告IDLE
 延迟(1000);

 serial.print ("正在发送数据包:");
 serial.println(str_off);
 radio.print (str_off);
 radio.flush(); //
 dump_radio_status_to_serialport(radio.radioState()); //应报告IDLE
 延迟(1000);
}

void dump_radio_status_to_serialport (uint8_t status)

 serial.print ("Enrf24无线电收发器状态:");
 开关(状态){
   案例ENRF24_STATE:
     serial.println ("不存在收发器");
     中断;

   Case ENRF24_State_DeepSleep:
     serial.println ("深度睡眠<1uA功耗");
     中断;

   案例ENRF24_State_IDLE:
     serial.println ("空闲模块在振荡器运行时通电");
     中断;

   Case ENRF24_State_PTX:
     serial.println ("主动传输");
     中断;

   Case ENRF24_State_PRX:
     serial.println ("接收模式");
     中断;

   默认:
     serial.println ("未知状态代码");
 }
}

其他症状因IC是在启动板上还是独立安装而异。 在启动板上,CE和miso针脚保持在大约一半的电源电压。 独立运行时,它们仍然较低。 最重要的观察结果(仅在独立时发生)是MOSI引脚保持在预期的3.3V,但每秒或反复地向0V脉动。 在此短脉冲持续时间内,收发器尝试消耗一些电流,但随后立即关闭。 CE针脚大部分保持低电平。 但是,在这个奇数脉冲时间内,我能够得到一个可测量的电压(在mV范围内)。

接收器和发射器之间的硬件设置保持不变。 如果您想查看工作接收器代码以进行比较,我也可以发布。 如能在这方面提供任何帮助,我们将不胜感激。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很遗憾听到您在注册43oh论坛时遇到问题,很遗憾,我没有使用nRF24L01收发器的经验。 您是否尝试过这些其他资源?

    github.com/.../msprf24
    e2e.ti.com/.../14.622万
    e2e.ti.com/.../43.5887万
    forum.43oh.com/.../
    http://www.kaltpost.de/?p=994

    如果您使用MSP-EXP430G2的1.0 和WFP 1.6 LED跳线进行通信,请务必断开它们的连接。 另外请记住,如果不需要背信道UART,那么与ez430相连的WFP 1.1 和WFP 1.2 也应被移除。 使用万用表确保所有设备都正确通电,并且所有连接之间都是导通的。 还提供SPI通信线路的示波器或逻辑分析仪屏幕截图。

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

    [报价用户="Ryan Brown1"]

    另外请记住,如果不需要背信道UART,那么与ez430相连的WFP 1.1 和WFP 1.2 也应被移除。

    [/引述]


    请您澄清一下这一点吗? 我注意到,当与USB端口连接时,WFP 1.1 和WFP 1.2 都在VCC,但不知道原因。 到目前为止,我一直忽略独立的这一问题,这似乎与其他编码工作正常。 我对这一切都很陌生,不知道"ez430 "一词的含义。

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

    您现在应该可以访问43oh.com。  由于 软件问题,该系统在周末的某个时间出现故障,但现在仍可运行。 出于好奇,我在搜索窗口中键入nRF24L01,它返回274个结果,因此您可以找到所需的答案。  如果没有,请随时发布问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    eZ430是板载FET工具,通过J3标题行连接到目标器件,它是板的前四个,并标记为“仿真”。 它包括一个反向通道UART系统,您可以与主机PC通信,但需要访问WFP,1.1 ,WFP,1.2 上的RXD/TXD线路。 如果您打算1.1 在外部使用WFP的RXD/TXD 1.2 跳线(用于nRF24L01),则必须将其卸下。

    此致,
    Ryan