在cc2530上面跑mesh1.0.0协议栈,测试osal_start_timerEx定时70秒,结果发现4秒多就执行一次,但是函数的定时超时时间是32位的【uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )】;请问一下,这是什么原因?除多次连续定时外,如何才能做到通过一次定时5分钟?谢谢!
YiKai Chen:
你的event如何定義?
Viki Shi:
最大值就是uint32所能代表的最大数,即4294967296 (2^32) milliseconds
l l1:
回复 YiKai Chen:
// Application Events (OSAL) – These are bit weighted definitions.
#define GENERICAPP_SEND_MSG_EVT0x0001
#define GENERICAPP_SEND_FLASH_MSG_EVT0x0002
#define GENERICAPP_SEND_P2P_MSG_EVT0x0004
#define GENERICAPP_DEV_3V3_EN_EVT0x0008
#define GENERICAPP_SENSOR_COLLECT_EVT0x0010
#define GENERICAPP_NET_POLL_CLOSE_EVT0x0020
#define GENERICAPP_TEST_TIMER_EVT0x0040
l l1:
回复 Viki Shi:
是不是不管是在cc2530上还是cc2538上,定时最大值都是4294967296 (2^32) milliseconds?还有cc2530进入低功耗时最大睡眠时间是多少?也是4294967296 (2^32) milliseconds么?
l l1:
回复 YiKai Chen:
程序我已经改动了;我这边再重新试验下!
l l1:
回复 YiKai Chen:
我自己程序问题,已解决,感谢!
TI中文支持网