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.

[参考译文] 编译器/LAUNCHXL-CC1310:CC1310的两个部件在Energia上使用一个Grove LCD RGB背光

Guru**** 2582405 points
Other Parts Discussed in Thread: CC1310, ENERGIA

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/601357/compiler-launchxl-cc1310-two-parts-of-cc1310-working-with-one-grove-lcd-rgb-backlight-on-energia

部件号:LAUNCHTXL-CC1310
主题中讨论的其他部件:CC1310ENERGIA

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

支持路径:/Product/Help with Device Selection/

嘿,  
 
我正在使用两个CC1310 (一个TX和另一个RX)和 Grov-LCD RGB背光进行项目,与Energia ( 它与Arduino相同)一起工作 ,我已经下载了他们的库 ,我的LCD有问题, 问题是液晶屏未向我显示 小数点后的数字(浮点) , 所以我认为有一个特定的代码会使浮点数 显示在LCD上,或者我可能会为浮点数写错误的代码。 我正在附加 TX和RX的代码。  
 

/*
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);

}


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

    艾哈迈德  

    我建议将您的问题发布到Energia论坛,然后我注意到您已经发布到EEVblog论坛并在那里有一些建议。 我仍然建议在Energia论坛或在Web上搜索现有的向LCD发送浮点数的示例,因为我认为Energia专家将能够在这个问题上提供比我们TI更好的指导。