初级会员
- 积分
- 66
- 金钱
- 66
- 注册时间
- 2019-4-13
- 在线时间
- 35 小时
|
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
}
}
|
|