主题中讨论的其他部件: 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范围内)。
接收器和发射器之间的硬件设置保持不变。 如果您想查看工作接收器代码以进行比较,我也可以发布。 如能在这方面提供任何帮助,我们将不胜感激。