完善资料让更多小伙伴认识你,还能领取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);//唤醒 ] |
|
|
|
只有小组成员才能发言,加入小组>>
762 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
1973 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3721 浏览 4 评论
5086 浏览 0 评论
请问如何用DM368对RGB格式的图片数据进行编码生成JPEG格式图片?
1788 浏览 1 评论
CC3100BOOST使用CC3200lunchXL进行烧录
765浏览 2评论
817浏览 1评论
TMS320F28034: 利用C2prog通过SCI给TMS320F28034烧录程序,出现错误提示:Bootloading... failed (invalid echo)!
792浏览 1评论
求DLPC350 Programmer’s Guide User's Guide 中文版说明书
1263浏览 1评论
1854浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-26 17:30 , Processed in 0.731212 second(s), Total 50, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191