免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: joe19860128
打印 上一主题 下一主题

看门狗定时器!急!!! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-06-17 17:14 |只看该作者
还是没完全明白,你是想测试一下VxWorks的watchdog timer是否正常工作了?“当创建成功时候返回ID,进入看门狗程序”--不明白这句话是什么意思,创建一个watchdog之后实际上就是分配了内存而已:

WDOG_ID wdCreate (void)

    {

    WDOG_ID wdId;

#ifdef WV_INSTRUMENTATION

    int level;

#endif



    if ((!wdLibInstalled) && (wdLibInit () != OK))

        return (NULL);                                /* package init problem */



    wdId = (WDOG_ID) objAlloc (wdClassId);





    /* initialize allocated watchdog */



    if ((wdId != NULL) && (wdInit (wdId) != OK))

        {

        objFree (wdClassId, (char *) wdId);

        return (NULL);

        }



#ifdef WV_INSTRUMENTATION

    /* windview - level 1 event logging */

    level = intLock ();                       

    EVT_OBJ_1 (OBJ, wdId, wdClassId, EVENT_WDCREATE, wdId);

    intUnlock (level);                               

#endif



    return (wdId);

    }



用wdStart才会传入一个回调函数来定时执行。至于测试传入错误的Timer ID没太大意义,这些系统操作已经很成熟了,难不成你在Win32下编程还对每一个API进行一些完整的测试?

至于说时间的话看你要求的精度了。它一般都是用时钟中断实现的,以我所熟悉的PowerPC为例,是用Decrement Interrupt来实现的,如果自己的代码中有长时间的锁中断的话(如锁中断之后操作500ms)是可以导致它丢掉几次的。


另外,建议你少用一些感叹号。就算很急,也不用这么激动吧

论坛徽章:
0
12 [报告]
发表于 2008-06-17 21:53 |只看该作者

回复 #11 Cyberman.Wu 的帖子

没办法啊,习惯这样了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP