void UsartConfiguration()
{
SCON=0X50; //设置为工作方式1
TMOD|=0X20; //设置计数器工作方式2
PCON=0X80; //波特率加倍
TH1=0Xfd; //计数器初始值设置,注意波特率是19200的
TL1=0Xfd;
ES=1; //打开接收中断
EA=1; //打开总中断
TR1=1; //打开计数器
}
void Usart() interrupt 4
{
if (RI) //接收到字节
{
cmdIndex = SBUF;
RI = 0; //清零接收中断标志位
SBUF = cmdIndex;//将接收到的数据放入到发送寄存器
cmdArrived = 1;
}
if (TI) //字节发送完
{
TI = 0; //清零发送中断标志位
}
}
我加了中断。我的意思是我第一次发送数据0x01的时候,程序进入while循环,这时候我重新给***uf输入数据,在while里面可以接收到吗?
void UsartConfiguration()
{
SCON=0X50; //设置为工作方式1
TMOD|=0X20; //设置计数器工作方式2
PCON=0X80; //波特率加倍
TH1=0Xfd; //计数器初始值设置,注意波特率是19200的
TL1=0Xfd;
ES=1; //打开接收中断
EA=1; //打开总中断
TR1=1; //打开计数器
}
void Usart() interrupt 4
{
if (RI) //接收到字节
{
cmdIndex = SBUF;
RI = 0; //清零接收中断标志位
SBUF = cmdIndex;//将接收到的数据放入到发送寄存器
cmdArrived = 1;
}
if (TI) //字节发送完
{
TI = 0; //清零发送中断标志位
}
}
我加了中断。我的意思是我第一次发送数据0x01的时候,程序进入while循环,这时候我重新给***uf输入数据,在while里面可以接收到吗?
举报