原创
CC2430/CC2431源代码:CC2430的PWM控制
2009-7-13 15:13
1753
15
15
分类:
消费电子
//cd wxl
//说明:本实验在成都无线龙提供的CC2430模块中调试通过。http://www.c51rf.com
#include <cdwxl.h>
/***************************************** //初始化Sleep Timer *****************************************/ void Init_SLEEP_TIMER(void) { EA = 1; //开中断 STIE = 1; STIF = 0; }
/***************************************** //设置Sleep Timer唤醒时间 //sec :间隔时间,单位为秒 //无返回 *****************************************/ void addToSleepTimer(UINT16 sec) { UINT32 sleepTimer = 0;
sleepTimer |= ST0; sleepTimer |= (UINT32)ST1 << 8; sleepTimer |= (UINT32)ST2 << 16;
sleepTimer += ((UINT32)sec * (UINT32)32768);
ST2 = (UINT8)(sleepTimer >> 16); ST1 = (UINT8)(sleepTimer >> 8); ST0 = (UINT8) sleepTimer; }
/***************************************** //延时函数 *****************************************/ void Delay(uint n) { uint jj; for(jj=0;jj<n;jj++); for(jj=0;jj<n;jj++); for(jj=0;jj<n;jj++); for(jj=0;jj<n;jj++); for(jj=0;jj<n;jj++); }
/***************************************** //LED闪烁函数 *****************************************/ void LedGlint(void) { uchar jj=10; while(jj--) { RLED = !RLED; Delay(10000); } }
/********************************************************************* //主函数 *********************************************************************/ void main(void) { SET_MAIN_CLOCK_SOURCE(CRYSTAL); SET_LOW_CLOCK(CRYSTAL); LED_ENABLE(1); RLED = 1; GLED = 0;
Init_SLEEP_TIMER(); while(1) { addToSleepTimer(10); SET_POWER_MODE(2); LedGlint(); GLED = ~GLED; } }
#pragma vector = ST_VECTOR __interrupt void ST_ISR(void) { STIF = 0; }
|
更多资料与技术讨论请联系:
上海无线龙通讯科技有限公司
联系人:司文铠
QQ:876692208
MSN:siwenkai@hotmail.com
TEL:13816689475
email:wxlsiwenkai@yahoo.com.cn
skype:sparksi01
公司网址:www.wxlsoc.com
文章评论(0条评论)
登录后参与讨论