本帖最后由 gongmaomao 于 2011-3-6 17:37 编辑
我是一个新手,刚刚学习串口。
思考出一道题,但是弄不出来了。
题目,用串口发送一个数据,MCU接到后,在该数据前加个序号,在发送至计算机,序号达到255清零。
我写的程序如下
#include <reg52.h>
char a;
int num=0;
bit flag;
main()
{
TMOD=0x20;
TH1=0xf3;
TL1=0xf3;
REN=1;
PCON=0x80;
TR1=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
num=0;
flag=0;
SBUF=num;
SBUF=a;
while(TI==0);
TI=0;
}
}
}
void cerial() interrupt 4
{
if(RI==1)
{
RI=0;
a=SBUF;
flag=1;
}
num++;
if(num>255)
num=0;
}
每次返回的值只有计算机发送的值,没有序号啊
虽然这个不是什么难题,但是····求教 |