1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
如果你是开发标准zigbee应用,能用到低功耗模式的就是终端设备,终端设备采用POLL的方式来达到节能.POLL得越频繁功耗越高.在标准zigbee开发中使用外部中断的做法不太建议.
如下是一个关于CC2530外部中断唤醒的例子 #include #define uint unsigned int #define uchar unsigned char #define DELAY 10000 //小灯控端口定义 #define RLED P1_0 #define YLED P1_1 void Delay(void); void Init_IO_AND_LED(void); void PowerMode(uchar sel); /**************************************************************** *函数功能:延时 *入口参数:无 *返回值 :无 *说 明 :可在宏定义中改变延时长度 ****************************************************************/ void Delay(void) [ uint tt; for(tt = 0;tt /**************************************************************** *函数功能:初始化电源 *入口参数:para1,para2,para3,para4 *返回值 :无 *说 明 :para1,模式选择 * * * para1 0 1 2 3 * * mode PM0 PM1 PM2 PM3 * * * ****************************************************************/ void PowerMode(uchar sel) [ uchar i,j; i = sel; if(sel<4) [ SLEEPCMD &= 0xfc; SLEEPCMD |= i; for(j=0;j<4;j++); PCON = 0x01;//睡眠 ] else [ PCON = 0x00;//唤醒 ] ] /**************************************************************** * 函数功能:初始化I/O,控制LED * 入口参数:无 * 返回值 :无 * 说 明 :初始化完成后关灯 ****************************************************************/ void Init_IO_AND_LED(void) [ P1DIR = 0X03; RLED = 1; YLED = 1; P0SEL &= ~0X30; P0DIR &= ~0X30; P0INP &= ~0X30;//有上拉、下拉 P2INP &= ~0X40; //选择上拉 P0IEN |= 0X30; //P12 P13 PICTL |= 0X02; //下降沿 EA = 1; IEN1 |= 0X20; //P1IE = 1; P0IFG |= 0x00; //P12 P13 ]; /**************************************************************** * 函数功能:主函数 * 入口参数: * 返回值 :无 * 说 明 :10次绿色LED闪烁后进入睡眠状态 ****************************************************************/ void main() [ uchar count = 0; Init_IO_AND_LED(); RLED = 0 ; //开红色LED,系统工作指示 Delay(); //延时 Delay(); Delay(); Delay(); while(1) [ YLED = !YLED; RLED = 0; count++; if(count >= 20) [ count = 0; RLED = 1; PowerMode(3); //10次闪烁后进入睡眠状态 ] //Delay(); Delay(); //延时函数无形参,只能通过改变系统时钟频率 //来改变小灯的闪烁频率 ]; ] /***************************************** //唤醒系统 *****************************************/ #pragma vector = P0INT_VECTOR __interrupt void P0_ISR(void) [ if(P0IFG>0) [ P0IFG = 0; ] P0IF = 0; PowerMode(7);//唤醒 ] |
|
|
|
只有小组成员才能发言,加入小组>>
332 浏览 1 评论
528 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
772 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
649 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1124 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
54浏览 29评论
92浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
248浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
196浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
54浏览 13评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 22:00 , Processed in 0.648349 second(s), Total 48, Slave 42 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号