主题中讨论的其他部件:CC1310, ENERGIA
工具/软件:TI C/C++编译器
支持路径:/Product/Help with Device Selection/
/*
EasyLinkRx
基本EasyLink接收示例。
接收数据包并打印存储在有效负载中的16位值。
此草图与EasyLinkTx示例相对应。
所需硬件:
CC1310 LaunchPad
此示例代码位于公共域中。
*/
#include "EasyLink.h"
#include <wire.h>
包括"RGB_LCD.h"
RGB_LCD LCD;
Const int colorR =255;
const int colorG = 30;
const int colorB = 6;
EasyLink_RxPacket rxPacket rxPacket;
EasyLink myLink;
void setup(){
Serial.begin(11.52万);
// Begin默认为EasyLink _PHY_50kbps2gfsk
lcd.begin(16,2);
myLink.begin(EasyLink_Phy_625bpsLrm);
serial.println(myLink.version());
lcd.setRGB(colorR,colorG,colorB);
lcd.cleal();
lcd.setCursor(4,0);
//将消息打印到液晶屏。
lcd.print ("恢复");
lcd.setCursor(5,1);
LCD.PRINT ("系统");
拖延(2000年);
lcd.cleal();
lcd.setCursor(0,0);
lcd.print ("归:Jornada所有");
lcd.setCursor(0,1);
LCD.PRINT ("扩展 范围");
延迟(4000);
lcd.cleal();
lcd.setCursor(1,0);
lcd.print ("制造");
lcd.setCursor(3,1);
LCD.PRINT ("NMSU-ECE部门");
延迟(4000);
lcd.cleal();
}
UINT16_t值;
UINT8_t地址;
void loop(){
//等待/阻止2秒钟以接收数据包。
// rxTimeout处于无线电时间,需要从毫秒转换为无线电时间
rxPacket.rxTimeout = EasyLink_ms_to_RadioTime(2000);
//立即打开接收器
rxPacket.absTime = EasyLink_ms_to_RadioTime(0);
EasyLink状态= myLink.Receive (&rxPacket);
如果(状态== EasyLink_Status_Success){
memcpy(&value,&rxPacket.payload[0],sizeof(uint16_t);
//lcd.print ("接收的数据包长度");
lcd.setCursor(0,0);
lcd.print ("北:");
lcd.print(rxPacket.payload[0],3);
memcpy(&address,&rxPacket.payload[1], sizeof(uint8_t);
lcd.setCursor(0,1);
lcd.print ("东部:");
lcd.print(rxPacket.payload[1];
拖延(2000年);
lcd.cleal();
}
否则{
lcd.print ("接收状态代码为""的数据包时出错);
//lcd.print (状态);
//lcd.print ("(");
//lcd.print (myLink.getStatusString (status));
//lcd.println(")");
}
延迟(1000);
lcd.cleal();
}
----------------------------------
----------------------------------
/*
EasyLinkTx
EasyLink的基本传输示例。
从A0 (引脚2)读取模拟值并将该值复制到TX数据包中。
此草图与EasyLinkRx示例相对应。
所需硬件:
* CC1310 LaunchPad
此示例代码位于公共域中。
*/
#include "EasyLink.h"
EasyLink_TxPacket txPacket;
EasyLink myLink;
void setup(){
Serial.begin(11.52万);
// Begin默认为EasyLink _PHY_50kbps2gfsk
myLink.begin(EasyLink_Phy_625bpsLrm);
serial.println(myLink.version());
//将目标地址设置为0xAA
txPacket.dstAddr[0]= 0xAA;
}
浮点数x = 32.28.1062万 ;
浮点y = 106.75.3838万 ;
void loop(){
UINT16_t值[3]={y};
uINT8_t地址={x};
UINT32_t XBee= 16;
//将模拟值复制到txPacket有效负载中
memcpy (&txPacket.payload[0],&value,sizeof (uint16_t));
memcpy (&txPacket.payload[1],&address,sizeof (uint8_t));
//设置数据包的长度
txPacket.len = sizeof(uint16_t);
//立即传输
txPacket.absTime = EasyLink_ms_to_RadioTime(0);
EasyLink状态= myLink.Transmit (&txPacket);
IF (STATUS == EasyLink_Status_Success){
serial.println ("");
//uint8_t地址={9};
//设置数据包的长度
txPacket.len = sizeof(uint8_t);
//立即传输
txPacket.absTime = EasyLink_ms_to_RadioTime(0);
EasyLink状态= myLink.Transmit (&txPacket);
serial.print ("newValue");
serial.print (地址);
}
否则{
serial.print ("传输失败,状态代码为:");
serial.print (状态);
serial.print ("(");
serial.print(myLink.getStatusString(status));
serial.println(")");
}
延迟(1000);
}