串口发送接收不能正常显示在串口调试助手上
时间:10-02
整理:3721RD
点击:
void serial_int(void) interrupt 4
{
if(RI)
{
RI=0;
temp=SBUF;
SBUF=temp;
while(!TI);
TI=0;
while(1);/*如果发送4,5个字节,没有循环和延时的时候是可以全部回传到串口调试助手里的,如果加了7秒的延时,只有前两个字节可以回传到串口调试助手里,如果在中断里加了死循环就什么也不能回传了即使发送一个字节有死循环的情况也不能回传,谁知道这原因?*/
}
}
求解释
把程序全贴出来,说的比较乱,没明白!
不能加延时的
void serial_int(void) interrupt 4
{
if(RI)
{
RI=0;
temp=SBUF;
flag=1;
}
以下放在主程序里边
while(1)
{
if(flag)
{
ES=0
flag=0;
SBUF=temp;
while(!TI);
TI=0;
ES=1;
}
中断里边不能嵌套中断哦。
串口一定要接地