返回该小组首页 回复主题
jjh5600

jjh5600

小组等级:     E币:684  (E币换礼)

#1楼主:遇到问题了 向大家请教!~

文章发表于:2008-10-14 05:05

大家好,学习的时候遇到一个问题,请大家帮忙!

我用的是无线龙c51pk系列开发板,04精简版协议栈,我要做一个子函数,
功能:在rfd是一个等待接受信号的状态,这个状态可以自己定义它的等待时间
就是说在这个状态中,一直在等待信号的到来,信号到来后执行ACTION1(),
如果杂这个状态结束后信号还没接收到或者信号丢失了,同样执行ACTION1(),
自己觉得很简单,可是怎么做也达不大效果 还请大家帮忙写一个相关的函数!谢谢!
下面是我自己写的,请大家帮忙修改一下:

typedef enum _WAIT_STATE_ENUM{
 WAIT_STATE_IDLE,
 WAIT_STATE_CHECK_RX,
 WAIT_STATE_TIMEOUT
}WAIT_STATE_ENMU;
WAIT_STATE_ENUM waitstate;

void checkrx(void)
{

apsFSM();
switch(waitstate)
{
case WAIT_STATE_IDLE:
static UINT32 count=5000;  //检测5000次 大概状态持续0.5秒
waitstate=WAIT_STATE_CHECK_RX;
break;
case WAIT_STATE_CHECK_RX:
while(count--)
{
if((INT8U)*aplGetRxMsgData()==0x01)   //若收到信号0x01
{
ACTION1();                            //执行程序
count=0;                             
waitstate=WAIT_STATE_IDLE;
}
else
{
waitstate=WAIT_STATE_TIMEOUT;
}
}
break;
case WAIT_STATE_TIMEOUT:
ACTION();
waitstate=WAIT_STATE_IDLE;
break;
}
}

jjh5600

   小组等级:    E币:684  (E币换礼)

#2

文章发表于:2008-10-22 16:49

这个问题忽略掉了  大家不用管了..
谢谢关注

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

  • DesignDesign
  • HTMLHTML

浏览该小组的用户还看过...

所有小组精华文章