新手上路
- 积分
- 22
- 金钱
- 22
- 注册时间
- 2020-10-15
- 在线时间
- 6 小时
|
10金钱
两个lora模块,一个接上位机,一个接mini开发板,接上位机的模块接收数据,但是调试助手显示乱码,这是怎么回事,也不知道从何排错
下面是lora_app.c的部分代码,红色字体的就是接上位机会收到的:
#define Dire_DateLen sizeof(Dire_Date)/sizeof(Dire_Date[0])
extern u32 obj_addr;//记录用户输入目标地址
extern u8 obj_chn;//记录用户输入目标信道
u8 wlcd_buff[10]={0}; //LCD显示字符串缓冲区
//Lora模块发送数据
void LoRa_SendData(void)
{
static u8 num=0;
u16 addr;
u8 chn;
u16 i=0;
if(LoRa_CFG.mode_sta == LORA_STA_Tran)//透明传输
{
sprintf((char*)Tran_Data,"ATK-LORA-01 %d",num);
u2_printf("%s\r\n",Tran_Data);
printf("%s\r\n",Tran_Data);
u2_printf("123\r\n");
printf("123\r\n");
LCD_Fill(0,160,240,180,WHITE); //清除显示
Show_Str_Mid(10,160,Tran_Data,16,240);//显示发送的数据
num++;
if(num==255) num=0;
}else if(LoRa_CFG.mode_sta == LORA_STA_Dire)//定向传输
{
addr = (u16)obj_addr;//目标地址
chn = obj_chn;//目标信道
date[i++] =(addr>>8)&0xff;//高位地址
date[i++] = addr&0xff;//低位地址
date = chn; //无线信道
for(i=0;i<Dire_DateLen;i++)//数据写到发送BUFF
{
date[3+i] = Dire_Date;
}
for(i=0;i<(Dire_DateLen+3);i++)
{
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);//循环发送,直到发送完毕
USART_SendData(USART2,date);
}
//将十六进制的数据转化为字符串打印在lcd_buff数组
sprintf((char*)wlcd_buff,"%x %x %x %x %x %x %x %x",
date[0],date[1],date[2],date[3],date[4],date[5],date[6],date[7]);
LCD_Fill(0,200,240,230,WHITE);//清除显示
Show_Str_Mid(10,200,wlcd_buff,16,240);//显示发送的数据
Dire_Date[4]++;//Dire_Date[4]数据更新
}
}
file:///C:\Users\Clever\Documents\Tencent Files\979114070\Image\C2C\B1BF5F8BF7D63CD36B5D190E30A9FEE4.jpg
图片就是乱码的样子
|
-
|