本帖最后由 jrcsh 于 2011-7-4 20:42 编辑
程序思路
串口接收到数据,传给变量 aaa, 及更新数据标记bbb.
现在程序表现为: 数据可以接收到,和正常发出,但是程序好像不受控制的在发生串口中断 , 不断在的运行,串口接收处理程序的 内容
去除无关内容后的程序 #include <REG51.H>
#include <intrins.h>
#include <absacc.h>
#define uint unsigned int
#define uchar unsigned char
uint aaa,bbb,ccc,ddd;
uchar xxx,zzz,vvv;
uchar code commm[]={'0','1','2','3','4','5','6','7','8','9'};
void recommm() interrupt 4
{
RI=0;
ccc=SBUF;
ddd=30;
}
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
ES=1;
EA=1;
while(1)
{
if(bbb==30)
{
SBUF=commm[aaa/100%10];
while(!TI);
TI=0;
SBUF=commm[aaa/10%10];
while(!TI);
TI=0;
SBUF=commm[aaa%10];
while(!TI);
TI=0;
SBUF=' ';
while(!TI);
TI=0;
SBUF='Z';
while(!TI);
TI=0;
SBUF='=';
while(!TI);
TI=0;
SBUF=commm[ddd/10%10];
while(!TI);
TI=0;
SBUF=commm[ddd%10];
while(!TI);
TI=0;
SBUF=' ';
while(!TI);
TI=0;
SBUF=0xd;//28;
while(!TI);
TI=0;
SBUF=0xa;//28;
while(!TI);
TI=0;
ddd--;
}// ddd==30
} //w1
}//ma
按这个程序
我发一个通过串口发一个 字节的数据到MCU ,MCU收到数据后,通过串口发回来。
现在的情况 是,电脑的串口调试软件,一发数据给 MCU ,MCU就不断的通过串口反回来数据,
我又改了一下程序通过反回来 的数据判断是, 串口中断在不断的被触发
..............问题出在了哪了
从串口发出来的数据来看, |