OpenEdv-开源电子网

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

LORA程序中“接收数据”函数问题

[复制链接]

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2019-4-13
在线时间
35 小时
发表于 2019-9-3 18:16:25 | 显示全部楼层 |阅读模式
6金钱
请问大家这个函数的意思是:串口3接收串口1的数据吗?我把GPS(定义在串口2)程序移植到LORA程序中,在上位机上得到的是一些随机数,不是在LCD上显示的那种GPS实时数据,怎么解决?谢谢~~
void LoRa_ReceData(void)
{
        u16 i=0;
        u16 len=0;
       //有数据来了
        if(USART3_RX_STA&0x8000)
        {
                len = USART3_RX_STA&0X7FFF;
                USART3_RX_BUF[len]=0;//添加结束符
                USART3_RX_STA=0;

                for(i=0;i<len;i++)
                {
                  while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕   
                  USART_SendData(USART1,USART3_RX_BUF);
                }
                LCD_Fill(10,260,240,320,WHITE);
                if(LoRa_CFG.mode_sta==LORA_STA_Tran)//透明传输
                {       
                        Show_Str_Mid(10,270,USART3_RX_BUF,16,240);//显示接收到的数据
                }
               else if(LoRa_CFG.mode_sta==LORA_STA_Dire)//定向传输
                {
                        //将十六进制的数据转化为字符串打印在lcd_buff数组
                        sprintf((char*)rlcd_buff,"%x %x %x %x %x",
                        USART3_RX_BUF[0],USART3_RX_BUF[1],USART3_RX_BUF[2],USART3_RX_BUF[3],USART3_RX_BUF[4]);       
                        Show_Str_Mid(10,270,rlcd_buff,16,240);//显示接收到的数据       
                }
                memset((char*)USART3_RX_BUF,0x00,len);//串口接收缓冲区清0
        }
}

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

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2019-4-13
在线时间
35 小时
 楼主| 发表于 2019-9-3 18:21:55 | 显示全部楼层
通过透明传输,在ATK-LORA-01上接收。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-6-8 12:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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