在单片机串口调试时,发送一个数字后,在接收区会出现很多乱码,联系不断的出现
下面的代码是我要运行的代码,波特率9600,,数据位为8,操作大致规范,就是什么复位,我是打开电源来操作的。#include<reg52.h>#include<stdio...
下面的代码是我要运行的代码,波特率9600,,数据位为8,操作大致规范,就是什么复位,我是打开电源来操作的。
#include<reg52.h>
#include<stdio.h>
#define uint unsigned int
void uart(void)
{
SCON=0x40;
PCON=0;
REN=1;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TI=1;
TR1=1;
}
void main(void)
{
uint x,y;
uart();
/* while(1)
{
UDR = 0x55;
delay_ms(500);
}*/
while(1)
{
printf("please!input two int number\n");
scanf("%d%d",&x,&y);
if(x>y)
printf("the big number is %d\n",x);
else
printf("the big number is %d\n",y);
}
} 展开
#include<reg52.h>
#include<stdio.h>
#define uint unsigned int
void uart(void)
{
SCON=0x40;
PCON=0;
REN=1;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TI=1;
TR1=1;
}
void main(void)
{
uint x,y;
uart();
/* while(1)
{
UDR = 0x55;
delay_ms(500);
}*/
while(1)
{
printf("please!input two int number\n");
scanf("%d%d",&x,&y);
if(x>y)
printf("the big number is %d\n",x);
else
printf("the big number is %d\n",y);
}
} 展开
4个回答
展开全部
循环后没有清零或中断,写入数据后一直在对比,然后一直发送。。。
你把while放别处去就好,具体哪里自己解决。。多想想
你把while放别处去就好,具体哪里自己解决。。多想想
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你知道scanf()函数和printf()函数在单片机编程中怎么使用吗?看看这两个函数编译的结果,绝对不正确。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检查波特率和帧数据位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把程序发上来我看一下???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询