上位机控制单片机串口发送和停止发送数据
时间:10-02
整理:3721RD
点击:
求一个 实现上位机上位机控制单片机串口发送和停止发送数据的程序。 要求串口收到串口助手发送来的0xAA 后 不断发送一个数组给上位机,当收到0xFF后 停止数据发送。
我是这样那个写的
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 反映 求大神给看看
我是这样那个写的
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 反映 求大神给看看
整体没什么问题,但是存在一个逻辑问题,就是在上电的一刻,直接把串口中断给关掉了,串口其实一直不会收到上位机传来的信息。
? 主程序中EA=1 我这不是实现了 开启中断了吗?求解释?
串口中断,不需要设置波特率吗,工作方式,开ES串口中断启动?
他这个只是中断程序嘛,那些在其它地方设置了。
学着if else
不要总是if if的。
栏目分类
灏勯涓撲笟鍩硅鏁欑▼鎺ㄨ崘