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

  主要应用前后台程序结构来实现,前台程序是各种中断等突发事件,后台程序就是主循环,处理各种事件引起的各种任务.

#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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值