This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc2530休眠中断唤醒后的时钟设置问题

Other Parts Discussed in Thread: CC2530

我用cc2530作为中断节点接收遥控器的红外信号,用的是TI提供的OSAL系统。

节点平时是处于PM2休眠的,我想通过用P0某一引脚接收红外信号作为中断将其唤醒,然后通过T1测量信号电平的持续时间,用的是32Mhz的晶振。

现在问题是,红外将节点唤醒以后测得的时间全都不对,基本偏小几百us

(当我将POWER_SAVING去掉时,测得的红外编码时间都是正确的,因此中断捕获和记时程序都没有问题)

所以我想请教一下各位高手:

采用osal时,当P0引脚中断将2530从PM2唤醒后,系统首先会执行哪一段程序?是我自己编写的P0中断服务例程吗?

中断将2530唤醒后,系统时钟是怎么恢复成32Mhz的?需要多长时间?需要自己设置吗?因为在中断引发后,我需要马上利用32MHz的时钟测度红外信号,这需要怎么做呢?

急救,救急,请大家帮帮忙!!!!!!!!!!

我的程序思路是:

当节点被中断唤醒后,用osal_pwrmgr_device(PWRMGR_ALWAYS_ON)取消其休眠功能,然后用T1对红外信号进行解码,解码完以后,再用osal_pwrmgr_device(PWRMGR_BATTERY)恢复休眠功能