⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 msp430低功耗编程示例
💻 C
字号:
/*===================================================================
EDB430系列试验板演示程序------低功耗测试 版本1.0  www.430diy.com
/*=========== 功能描述:
测试4种低功耗模式工作状况,分别从P1口和UART被唤醒。
P1唤醒操作步骤:
    1.主菜单上选择任何一个低功耗模式。
    2.当出现LPMx。。。。。。字样时,表示进入相应的低功耗模式状态。
    3.按下P1.4(上沿动作)。
    4.出现"Awaken from LPMx",表示系统退出相应的低功耗模式,接着,系统自动出现
      低功耗试验主菜单。
UART唤醒操作步骤:
    1.主菜单上选择任何一个低功耗模式。
    2.当出现LPMx。。。。。。字样时,表示进入相应的低功耗模式状态。
    3.按下PC任何有效键。
    4.出现"Awaken from LPMx",表示系统退出相应的低功耗模式,接着,系统自动出现
      低功耗试验主菜单。  
/*=========== 使用系统资源:
  1.UART0
  2.P1端口
/*=========== 
程序员: Steven Zhang(OHHA)   0512-51621677
公司: ChangShu Microelectronics Technologies Co., Ltd.
版本:1.0
编程日期:2006.6.26
编译器版本:3.41A
最后修改日期:
使用注意事项:
  1.在LPM2,LMP3, LPM4模式下被唤醒,由于此时SMCLK还未稳定,因此,提示信
    息"Awaken from LPMx",将是乱码。
  2.如果使用的低版本不能打开project,则用如下文件重新建立,确保目录路径中不包含中文字符
    hd.c		 系统基础时钟初始化
    main.c		 测试程序主代码入口
    p1.c		 PWM系统初始化及功能程序
    sport0.c             UART0初始化及功能程序
====================================================================*/
#include "chip.h"
#include "hd.h"
#include "sport0.h"

void delay(unsigned long int i)
{
   while(i--);
}   

void main()
{
  WDTCTL=WDTPW+WDTHOLD;
  InitClock();
  InitSport0();
  InitP1();
  Tx0S("\nLMP Mode Testing\n");
  Tx0S("Awaken from some peripherals,such as UART,P1\n");
  __enable_interrupt();
  while(1)
  {
    Tx0S("0:LMP0 Mode Testing\n"); //LPM0,CPU Off,  MCLK Off,             SMCLK On,  ACLK On
    Tx0S("1:LMP1 Mode Testing\n"); //LPM1,CPU Off,  MCLK Off,   DCO Off,  SMCLK On,  ACLK On
    Tx0S("2:LMP2 Mode Testing\n"); //LPM2,CPU Off,  MCLK Off,   DCO On,   SMCLK Off, ACLK On
    Tx0S("3:LMP3 Mode Testing\n"); //LPM3,CPU Off,  MCLK Off,   DCO Off,  SMCLK Off, ACLK On
    Tx0S("4:LMP4 Mode Testing\n"); //LPM4,all off
    while(!rx0flg);
    rx0flg=0;
    switch(RXBUF0){
    case '0':
            Tx0S("\nLMP0......\n");      
            __low_power_mode_0();
            Tx0S("\nAwaken from LMP0\n");
            break;
    case '1':
            Tx0S("\nLMP1......\n");      
            __low_power_mode_1();
            Tx0S("\nAwaken from LMP1\n");
            break;
    case '2':
            Tx0S("\nLMP2......\n");      
            __low_power_mode_2();
            Tx0S("\nAwaken from LMP2\n");
            break;
    case '3':
            Tx0S("\nLMP3......\n");      
            __low_power_mode_3();
            Tx0S("\nAwaken from LMP3\n");
            break;
    case '4':
            Tx0S("\nLMP4......\n");      
            __low_power_mode_4();
            Tx0S("\nAwaken from LMP4\n");
            break;
    }//end switch         
   
  }  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -