修改定时启动任务函数osal_start_timerEx后,终端接收不到协调器发来的信息了
您好,我想设置一个定时时间2个小时的事件
将uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )和这个函数uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )设置为32位time_value,
也将 typedef struct { void *next; uint32 timeout; uint16 event_flag; uint8 task_id; uint16 reloadTimeout; } osalTimerRec_t; 改为相应的32位的time_out,
发现可以进行准确的定时启动事件,但是有个警告提醒Warning[w6]: Type conflict for external/entry "osal_start_timerEx", in module APS against external/entry in module OSAL_Timers; function types differ in parameter 3; different basic types ,找不到修改提醒的地方
更重要的是:终端接收不到协调器发来的信息了,请问我需要怎么修改终端?既能让它定时事件2小时启动,也能使其接收到协调器发来的信息?
我是小白,最近正在做ZigBee通信,先谢谢你们帮我了,谢谢
没看出你到底改了啥?
整理下你的语句,下面你列的两个函数有区别吗? 有什么修改的地方可以使用不同颜色标注一下。
“将uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )和这个函数uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )设置为32位time_value”
TY您好:
我是将OSAL_Timers.c中的osalTimerRec_t * osalAddTimer( uint8 task_id, uint16 event_flag, uint16 timeout ) 改为osalTimerRec_t * osalAddTimer( uint8 task_id, uint16 event_flag, uint32 timeout ) ,
以及uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value )改为uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )
将typedef struct { void *next; uint16 timeout; uint16 event_flag; uint8 task_id; uint16 reloadTimeout; } osalTimerRec_t; 更改为typedef struct { void *next; uint32 timeout; uint16 event_flag; uint8 task_id; uint16 reloadTimeout; } osalTimerRec_t;
然后定时事件可以延时到2个小时,但是协调器向终端发信息,终端接收不到了,没有修改之前是可以接收到的,请问,我该怎么做修改既能让它延时时间很长2个小时以上,又可以使终端接收到协调器的信息?
你的协议栈版本是?最新的版本已经是uint32了。
osalTimerRec_t * osalAddTimer( uint8 task_id, uint16 event_flag, uint32 timeout )
uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )