OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7105|回复: 4

基于stm32两个Lora模块通信接收出现乱码

[复制链接]

2

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2020-10-15
在线时间
6 小时
发表于 2021-5-21 15:51:47 | 显示全部楼层 |阅读模式
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
图片就是乱码的样子


B1BF5F8BF7D63CD36B5D190E30A9FEE4.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2020-10-15
在线时间
6 小时
 楼主| 发表于 2021-5-21 15:54:21 | 显示全部楼层
另一个接板子的模块的也会受到,但是没有乱码
回复

使用道具 举报

6

主题

890

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1473
金钱
1473
注册时间
2020-8-19
在线时间
334 小时
发表于 2021-5-23 11:50:18 | 显示全部楼层
通讯的波特率自己设置过115200吗?有没有保存成功?这个默认是9600
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2021-7-1
在线时间
20 小时
发表于 2022-7-3 23:40:25 | 显示全部楼层
楼主解决了吗,求方法
回复

使用道具 举报

9

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
200
金钱
200
注册时间
2021-11-10
在线时间
32 小时
发表于 2022-7-11 11:30:45 | 显示全部楼层
乱码看进制,波特率之类的设置对着没
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-1-31 17:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表