您的位置:首页 > 编程语言

MSP430 我的低功耗系统编程模板

2016-10-27 09:52 197 查看
  主要应用前后台程序结构来实现,前台程序是各种中断等突发事件,后台程序就是主循环,处理各种事件引起的各种任务.

#include "MSP430G2553.h"

int gTaskFlag=0;                //任务标志 位

void sysInit()
{

}

void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;

sysInit();          //系统初始化

_EINT();            //开中断

while(1)
{
if((gTaskFlag&0x0001) == 0x0001)
{
Task0001_Name();
}

if((gTaskFlag&0x0002) == 0x0002)
{
Task0002_Name();
}

//----如果没有任务就休眠--------
if(gTaskFlag == 0x0000)
{
LPM3;
}
}
}

#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer0_A0(void)      //TACCR0中断
{
gTaskFlag |= 0x0001;              //周期性任务

__low_power_mode_off_on_exit();   //唤醒CPU
}

void Task0001_Name()
{
//TODO

//---完成任务------
gTaskFlag &= ~0x0001;
}

void Task0002_Name()
{
//TODO

//---完成任务------
gTaskFlag &= ~0x0002;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: