hur.cn - 华软网

 热门搜索

谁可以给我一个好的解决方案!

  作者:未知    来源:网络    更新时间:2011/5/15
从串口不断的返回一组字符串:7E 01 02 03 84  我现在以返回字符串的第二个字节作为判断条件去触发一个函数。
表达式如下:
  if(rxdata[1]==0x01)//如果返回的第二个字节为01
    {
      OnButton1();//去触发函数
    }

如果按上面的方式写程序,串口每返回一次字符串,只要条件符合,就会去触发一次函数。

我需要的是:如果返回字符串第二字节为01,去触发函数一次就够了,不必每次返回都去触发函数。

要完成这样的过程,应该怎么写程序?

本人还是新手,还望高手们能写个示例代码并加以注释。

万分感谢!!
---华软 网友回答---
添加一个静态变量或外部变量作为判断,如下
bool can_act(true);//外部变量
……
if(can_act & (0x01==rxdata[1]))
{
OnButton1();
can_act = false;
}
---华软网友回复---
引用 1 楼 melos 的回复:
添加一个静态变量或外部变量作为判断,如下
bool can_act(true);//外部变量
……
if(can_act & (0x01==rxdata[1]))
{
OnButton1();
can_act = false;
}

顶一个
---华软网友回复---
引用 1 楼 melos 的回复:
添加一个静态变量或外部变量作为判断,如下
bool can_act(true);//外部变量
……
if(can_act & (0x01==rxdata[1]))
{
OnButton1();
can_act = false;
}

这个做法看上去好像可以,但实际测试时还是不行,还是不断的去触发函数。
---华软网友回复---
引用 3 楼 lawbt888 的回复:
引用 1 楼 melos 的回复:
添加一个静态变量或外部变量作为判断,如下
bool can_act(true);//外部变量
……
if(can_act & (0x01==rxdata[1]))
{
OnButton1();
can_act = false;
}

这个做法看上去好像可以,但实际测试时还是不行,还是不断的去触发函数。

就应该用这种方法啊
除非你用错了
---华软网友回复---
问题已解决,就是用1楼的办法,谢谢1楼!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。