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

voidCom_Service(void)interrupt4{RI=0;a=SBUF;if(a==0xAA){flag=1;}if(a==0xFF){flag=0;}}... void Com_Service(void) interrupt 4

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

void main ()
{
uartinit();
EA=1;
while(1)
{
if(flag==1)
{senstring(buffer);} buffer为要发送的字节数组 unsigened char型
if(flag==0)
{ES=0;}
}
}
串口助手发送0xAA 反映 求大神给看看
展开
 我来答
百度网友44448fd
2012-11-30 · TA获得超过351个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:124万
展开全部
你在串口中断中应该进行一次判断是发送还是接受不然可能会产生错误
建议格式为
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型

}
黄石佳诚家电维修
2012-11-23 · TA获得超过1427个赞
知道小有建树答主
回答量:1559
采纳率:93%
帮助的人:583万
展开全部
{ES=0;}改成{ES=0;}
追问
.......不是这个原因
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式