你好,问一下,现在我在做cc2530的定时唤醒程序,定时时间到了 英语,怎么进不了中断函数啊? EA ,STIE均置1

用Zstack,让CC2530进入低功耗PM2模式,那么C2530要多久时间才醒一次?
此问题尚无答案
TI 工程师,你好,用Zstack,让进入低功耗PM2模式,那么C2530要多久时间才醒一次,这个睡眠定时是不可以用户自己设置睡眠时间值得吗??还有就是,如果是OSAL系统自动设置睡眠定时器的睡眠时间值,那么进入低功耗PM2模式后要多久才醒一次呢?如果睡眠定时器的睡眠时间值是有osal_timeout的值决定,那个这个osal_timeout的值是多少呢?在协议栈的哪里可以查到呢??
系统会自己计算下一次任务的时间,然后设置睡眠的时间,保证时间到的时候自己唤醒,比如你用osal_start_timerEx(taskid,
timeout)设置了一个任务,假设你只有这个任务,那么设置完后系统就会休眠timeout毫秒的时间,超时后唤醒然后进入taskid任务的event事件。实际上这中间系统还有可能唤醒执行NWK层、MAC层或者HAL层等等其他层的任务,对你的应用层来说,你可以认为睡眠时间就是你设置的osal_timeout的值。
谢谢!但是如果不是定时循环执行一个任务,就是说那个任务只执行一次就不用再执行了,这样OSAL系统还会自动定时睡眠时间,自动唤醒吗??
ZIGBEE低功耗PM2模式的睡眠时间设置
此问题尚无答案
我在协议栈中进行了各项设置,经过调试发现已进入了PM2定时器睡眠模式,但不知道具体怎么设置想要睡眠的时间?
若使用osal_start_timerEx最大只能睡眠65s,我想设置更长时间的睡眠!
另外,经过万用表和示波器测量(串接10欧的电阻),发现睡眠时的功耗达到了5mA,这个电流值太大了,与说明文档不符!我的测量方法是没有问题的,请问是什么导致了这个大电流的?
榜眼21491分
数据手册上写的是最小系统的休眠电流1uA
如果你用的话,休眠时间不是你自己定,而是有系统自己设定,每次都是以最近发生的那个osal_timeout作为休眠时间。
Ztack中定义的最大定时器睡眠时间是510s,如果睡眠时间不是自己定义的,请问该如何实现最大时间的定时器睡眠呢???谢谢
你好,我想问的是:每次都是以最近发生的那个osal_timeout作为休眠时间,怎么样知道osal_timeout的值是多少?
榜眼21491分
这个timeout主要分为两类,一类是应用层事件的timeout,另外一类是MAC层事件的timeout,
应用层的timeout的时间,是在osal_pwrmgr_powerconserve( void
)函数中,通过osal_next_timeout();获得的。
MAC层的timeout时间,是通过halSleep( uint16 osal_timeout
)函数里面,通过MAC_PwrNextTimeout();来获得的。
其实在osal_pwrmgr_powerconserve中也是调用了halSleep,
我通过加断点debug发现,每次给halSleep传入的都是300左右,这就导致了unit会不断睡眠和唤醒,这个现象是联网正常的时候才出现的,如果连不到网络,频率会慢一些,不顾依然会不断睡眠唤醒。
我想知道,如何让一个设备连入网络后,进入长时间睡眠?除非用按键来中断唤醒。
我也想知道
节点在进入网络后,进入深度休眠PM3模式,由按键,或是其他形式的中断来唤醒,比如一些传感器,传感器在搜集完毕数据后给2530中断信号,将2530从PM3模式中唤醒然后将传感器的数据发送到协调器,我看了不少资料,就是没有一个系统的讲解,有说这样能有说那样的,迷惑很久了,希望TI的大大们帮开一个主题将将这个吧
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。7、CC2530 定时器T1的使用_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
7、CC2530 定时器T1的使用
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
你可能喜欢CC2541睡眠模式下,为什么中断无法唤醒? - 无线通信技术专区 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
CC2541睡眠模式下,为什么中断无法唤醒?
15:03:43  
CC2541睡眠模式下,为什么中断无法唤醒?
CC2541在广播模式下每次按按键都会进入&&HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR )& &函数,当我关闭广播和所有定时器后(可能进入了PM3),按按键进不去中断函数&&HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR )& &里面;打开5s一次的周期时间 SBP_PERIODIC_EVT 又可以进入中断函数了(可能进入了PM2),但是相应不及时,按下按键几秒才进入中断函数。
请问一下,是什么原因?是不是中断没有配置好?
关闭 POWER_SAVING 按键中断正常执行,一打开POWER_SAVING 中断就执行不了了。
我按键配置如下(用的P0.3管脚):
#define HAL_KEY_SW_1_PORT P0
#define HAL_KEY_SW_1_BIT BV(3)
#define HAL_KEY_SW_1_SEL P0SEL
#define HAL_KEY_SW_1_DIR P0DIR
#define HAL_KEY_CPU_PORT_0_IF P0IF
#define HAL_KEY_SW_1_IEN IEN1 /* CPU interrupt mask register */
#define HAL_KEY_SW_1_ICTL P0IEN /* Port Interrupt Control register */
#define HAL_KEY_SW_1_ICTLBIT BV(3) /* P0IEN - P0.0 enable/disable bit */
#define HAL_KEY_SW_1_IENBIT BV(5) /* Mask bit for all of Port_0 */
#define HAL_KEY_SW_1_PXIFG P0IFG /* Interrupt flag at source */
助理工程师
15:04:05  
看上去都正常啊。。。
感觉像是IO无法从PM3 把系统唤醒。POWER_SAVING模式打开的情况下蓝牙连接正常吗?
15:04:22  
已经解决了,是睡眠文件里面有个中断标志位没打开。
14:41:56  
已经解决了,是睡眠文件里面有个中断标志位没打开。
具体在哪儿?我也遇到同样的问题。
Powered by【图文】CC2530单片机用定时器产生LED渐亮渐灭_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
CC2530单片机用定时器产生LED渐亮渐灭
上传于||文档简介
&&C​C50​单​片​机​用​定​时​器​产​生​L​E​D​渐​亮​渐​灭
大小:1.32MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢CC2530的PM3能源模式与IO唤醒实验
//**************************************************************************
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&CC2530的PM3能源模式与IO唤醒实验
//&&&&&&硬件连接:&&&&&&&&&&&&&&&&&CC2530的P0_4接LED,P0_5接按键。
程序说明:
//&&&&&&&&&&
1.程序设置后,闪烁几次,开始进入PM3睡眠模式,程序等待唤醒;
//&&&&&&&&&&
2.当按键按下后,在P0_5口产生中断输入信号,从而唤醒进入正常模式
//&&&&&&&&&&
3.唤醒后,程序继续执行下面的代码,闪烁几次后再次进入睡眠PM3模式,等待下次中断。
//***************************************************************************
#define uint unsigned int
#define uchar unsigned char
#define uint8 unsigned char
#define uint32 unsigned long
#define R_LED P0_4& //LED
////////////////////////////////////////////////////////////////////////
//延时函数
void delay(uint n)
& uint i,j;&
& for(i=0;i&50;i++)
//----------------------------------------------------------------------
void IR_init(void)& //IO中断口P0_5
& P0SEL &= ~0X20; //外P0_5为通用接口模式 GPIO
& P0DIR &= ~0X20; //P0_5为输入
& P0IEN |= 0X20; //开P0_5的IO中断使能
& IEN1 |= 0X20; //开P0的中断
///////////////////////////////////////////////////////////////////////////
void LED_init(void)& //P0_4为发光二极管 R_LED
& P0SEL &= ~0x10;
//P0_4口设为通用接口模式& GPIO
& P0DIR |= 0x10;&
//P0_4口设为输出模式
/////////////////////////////////////////////////////////////////////
void blink_led(void)& //LED闪烁函数
& uchar jj = 10;&
& while(jj--)&
&&& R_LED=
!R_LED;&&&
delay(5000);&
& R_LED =1; //熄灭
//////////////////////////////////////////////////////////////////////////////
void set_powermode(uchar mode)&&
//设置能源模式
& if(mode&4)
&&& //SLEEPCMD
&&& SLEEPCMD |=
for(i=0;i&4;i++);&&&&&
&&& PCON = 1;
//进入SLEEPCMD制定的电源模式,通过中断打断
&&& PCON =
0;//系统唤醒,通过中断打断
//*************************************************************************
//&&&&&&&&&&&&&&
//*************************************************************************
void main(void)
& SLEEPCMD &=
~0x04;&&&&&&&&&&&&&&&&&&&&&&&&&
//睡眠模式:不关闭时钟2MHz
& while( !(SLEEPSTA & 0x40)
);&&&&&&&&&
//等睡眠状态
& CLKCONCMD &=
~0x47;&&&&&&&&&&
//32K晶振,系统主时钟选择32MHz,定时器输出标记:4MHZ
& SLEEPCMD |=
0x04;&&&&&&&&
//节能控制:关闭无用时钟
& LED_init();//P0_4初始化为输出(LED)
& IR_init(); //初始化P0_5为外部IO中断
& blink_led();
& while(1)
set_powermode(3);& //PM3模式休眠,由P0_5中断唤醒
blink_led();
R_LED=1;&&&
/////////////////////////////////////////////////////////////////////////
//P0中断函数&& //P0_5
#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void)
& if(P0IFG&0)
P0IFG = 0; //清标志位
& P0IF = 0;
& set_powermode(4); //唤醒
//////////////////////////////////////////////////////////////////////////
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 时间到了 英语 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信