OpenEdv-开源电子网

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

关于串口接收数据问题!

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2018-10-12
在线时间
2 小时
发表于 2018-10-12 09:22:59 | 显示全部楼层 |阅读模式
1金钱
小白求助!我想串口每接收到一次数据0X31,都在屏幕显示一次温度,同时通过串口把获取到的温度发送出去! 这是在内部温度传感器实验的基础上改的程序!
但是我用串口助手发送0x31,第1次发能获取到温度,第2次发不能,第3次发又能获取到温度,第4次发又不能。。。。只有13579次...是成功的,2468次...都失败。第2468次两个LED都不亮!
while(1)
{               
        if(USART_RX_STA&0x8000)
        {
                a =USART_ReceiveData(USART1); //把串口接收到数据给a
                if(a==0x31)              //判断a是否0x31
                {       
                printf("\r\n正在获取温度!\r\n");               
                temp=Get_Temprate();        //得到温度值       
                if(temp<0)
                {
                        temp=-temp;
                        LCD_ShowString(30+10*8,140,16,16,16,"-");        //显示符号
                }else LCD_ShowString(30+10*8,140,16,16,16," ");        //无符号       
                LCD_ShowxNum(30+11*8,140,temp/100,2,16,0);                //显示整数
                LCD_ShowxNum(30+14*8,140,temp%100,2,16, 0X80);        //显示小数
                LED0=!LED0;
                delay_ms(250);
                LED0=!LED0;
                printf("\r\n当前温度为:");
                printf("%d",temp/100);
                printf(".");
                printf("%d",temp%100);
                printf("摄氏度\r\n");               
                USART_RX_STA=0;
                a=0;
          }
        }else
        {
                LED1=!LED1;
                delay_ms(250);
        }       
}

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

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-10-12 09:43:27 | 显示全部楼层
回复

使用道具 举报

3

主题

288

帖子

0

精华

高级会员

Rank: 4

积分
865
金钱
865
注册时间
2018-8-28
在线时间
130 小时
发表于 2018-10-12 09:46:36 | 显示全部楼层
你用原子哥的串口例程,把接受数组USART_RX_BUF拿出来判断,没次判断完后清空接受数组。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 18:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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