zstack-2.3.0版本 中定时器只支持了输出比较 ,3.0.0版本则直接取消了对定时器的支持。我现在需要使用输入捕获做一个类似于红外解码的功能。请问应该怎么来实现呢?
我自己思路是可不可以直接向裸机一样来配置,中断处理的时候来触发OSAL层事件,这样可以不可以呢
zigbee 2.5.1a中有描述
/* Channel mode definitions */
#define HAL_TIMER_CH_MODE_INPUT_CAPTURE 0x01 // Channel Mode Input-Capture
#define HAL_TIMER_CH_MODE_OUTPUT_COMPARE 0x02 // Channel Mode Output_Compare
#define HAL_TIMER_CH_MODE_OVERFLOW 0x04 // Channel Mode Overflow
#define HAL_TIMER_CH_MODE_MASK (HAL_TIMER_CH_MODE_INPUT_CAPTURE | \
HAL_TIMER_CH_MODE_OUTPUT_COMPARE | \
HAL_TIMER_CH_MODE_OVERFLOW)
这个只是在timer.h中的定义,但是timer.c并没有给出任何借口函数
/*********************************************************************
NOTE: Z-Stack and TIMAC no longer use CC2530 Timer 1, Timer 3, and
Timer 4. The supporting timer driver module is removed and left
for the users to implement their own application timer
functions.
*********************************************************************/
Actually, it means timer 1, 3, and 4 are free from Z-Stack/TIMAC and available for application developers. So, you can use those APIs.
您可以下载 Z-Stack Home 1.2.2a ,在 C:\Texas Instruments\Z-Stack Home 1.2.2a.44539\Components\hal\target\CC2530PMP4712您可以找到hal_timer.c
难道1.2.2a有对输入捕获的支持?我看了2.3.0的timer.c接口函数倒是有的,但是却只支持输出比较