急求单片机高手指点........如何通过串口接收一组字符串,然后判断这组字符串,来调用相应的函数啊???
voidUART()interrupt4{recive[i]=SBUF;i++;delay(10);//P0=a;RI=0;flag=1;//function();swi...
void UART() interrupt 4
{
recive[i]=SBUF;
i++;
delay(10);
// P0=a;
RI=0;
flag=1;
// function();
switch(recive[i])
{
case 'a':
P2=0x01;
P1=0x02;
P0=0x02;
break;
case 'b':
P2=0x01;
P1=0x02;
P0=0x00;
break;
}
}
/*
void function()
{
if(a=="00000001")
{ //一号正转
P2=0x01;
P1=0x02;
P0=0x02;
}
if(a=="00000000")
{
P2=0x01;
P1=0x02;
P0=0x00;
}
if(a==3)
P0=0x03;
if(a==4)
{
P2=0x02;
P1=0x03;
P0=0x06;
}*/ 展开
{
recive[i]=SBUF;
i++;
delay(10);
// P0=a;
RI=0;
flag=1;
// function();
switch(recive[i])
{
case 'a':
P2=0x01;
P1=0x02;
P0=0x02;
break;
case 'b':
P2=0x01;
P1=0x02;
P0=0x00;
break;
}
}
/*
void function()
{
if(a=="00000001")
{ //一号正转
P2=0x01;
P1=0x02;
P0=0x02;
}
if(a=="00000000")
{
P2=0x01;
P1=0x02;
P0=0x00;
}
if(a==3)
P0=0x03;
if(a==4)
{
P2=0x02;
P1=0x03;
P0=0x06;
}*/ 展开
3个回答
展开全部
下面提供一个思路,供参考:
void UART() interrupt 4
{
RI = 0;
recive[i] = SBUF;
i++; // i 加到一定数值,就应该从 0 开始了。
//下面,根据字符串的内容,分别进行处理:
if(recive[0] == '0' && recive[1] == '0' && recive[2] == '1') {
P2=0x01;
P1=0x02;
P0=0x02;
}
if(recive[0] == '0' && recive[1] == '0' && recive[2] == '0') {
P2=0x01;
P1=0x02;
P0=0x00;
}
}
判断字符串的首、尾,可以参考我以前的回答:
http://zhidao.baidu.com/question/323067769.html
void UART() interrupt 4
{
RI = 0;
recive[i] = SBUF;
i++; // i 加到一定数值,就应该从 0 开始了。
//下面,根据字符串的内容,分别进行处理:
if(recive[0] == '0' && recive[1] == '0' && recive[2] == '1') {
P2=0x01;
P1=0x02;
P0=0x02;
}
if(recive[0] == '0' && recive[1] == '0' && recive[2] == '0') {
P2=0x01;
P1=0x02;
P0=0x00;
}
}
判断字符串的首、尾,可以参考我以前的回答:
http://zhidao.baidu.com/question/323067769.html
追问
能不能加个QQ好友啊?帮个忙吧。谢谢。。。。
展开全部
程序不是已经写出来了吗?
更多追问追答
追问
但是程序无法运行,没调用函数。。
追答
直接判断receive[i]数组中的内容
然后分析,如果符合调用就可以了。
上面不是有输出了吗?在输出那里增加调用函数好了。
如果看不明白,改简单些
if(receive[i]==****)
{
调用函数
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-29
展开全部
建议 去 我的领地 5d6d 的 proteus 论坛看看
那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词
那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词
追问
你能不能说说该怎么实现啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询