求一个 实现上位机上位机控制单片机串口发送和停止发送数据的程序。 要求串口收到串口助手发送来的0xAA 后

2026-05-20 02:45:36
推荐回答(2个)
回答1:

你在串口中断中应该进行一次判断是发送还是接受不然可能会产生错误
建议格式为
void Com_Service(void) interrupt 4

if(RI)
{
RI=0;
a=SBUF;
if(a==0xAA)
{
flag=1;
}
if(a==0xFF)
{
flag=0;
}
if(TI)
{
TI=0;
}

//你想在接受到)ff后停止接受,不能关闭串口中断,不然你就不能接受开始指令了,只要在接收到停止指令)0xff后将发送程序关闭即可
void main ()
{
uartinit();
EA=1;
while(1)
{
if(flag==1)
{
senstring(buffer);
} //buffer为要发送的字节数组 unsigened char型

}

回答2:

{ES=0;}改成{ES=0;}