本文内容列表:
试试这个:
void UART() 中断 4
{
//ES=0;//关闭中断//无需关闭中断
如果(RI)
{RI=0; //接收导致中断
rxbuf[n]=SBUF;
//while(!RI);//OK or NG???//删除这句话
n++;
}
if(n==7) {rx_fla=1;n=0;}//注意重置n
//ES=1;
}
在KEIL中使用虚拟串口调试串口程序时,只能查看串口发送的字符,而无法接收。
如下图,在运行状态下,点击UART串口。
要真正调试串口程序,还是用proteus比较好。使用虚拟终端就像微控制器和计算机之间的串行通信。可以在虚拟终端上显示,也可以在虚拟终端上输入。如下图
你需要编写程序的支持。如果想看到某个变量的变化,可以将这个变量放入程序中不同位置的串口中,然后发送出去。通过计算机接收到后,就可以知道这个变量在程序中间的变化过程。也就是说,在没有专用调试器的情况下,可以利用单片机本身的串口对单片机进行编程,将单片机程序的运行状态发出来。