LaunchPad-MSP430G2553之点灯

  这个真不会玩,没怎么玩过51,用官方的Code Composer Studio开发起来很伤闹脑,软件没有汉化,操作不熟,对于英语障碍的我来说真的是爽爽的,另外感觉手册介绍的太少了(可能是我找错了,或者是我太小白又不愿意去问李彦宏),半天终于点亮了个灯,好高兴啊。

  建工程就不说了,软件直接新建生成个blink案例(TM的案例还有一个警告,另外就TM的这一个案例,官方工具多几个基础案例会屎啊),嗯,吐槽完毕,吐槽的原因是由于我啥都不懂导致。下面来说说MSP430的优点,卧槽,它的优点玩过没玩过的人都知道,还介绍个毛线,不知道的去问李彦宏就可以了。

  这开发方式很原始,就是不停地对寄存器赋值读取,记住那么多寄存器是不行的了, 要不停地翻阅查看(好纠结的说~),最后,就是一个字:干!

//***************************************************************************************
//  MSP430 Blink the LED Demo - Software Toggle P1.0
//
//  Description; Toggle P1.0 by xor'ing P1.0 inside of a software loop.
//  ACLK = n/a, MCLK = SMCLK = default DCO
//
//                MSP430x5xx
//             -----------------
//         /|\|              XIN|-
//          | |                 |
//          --|RST          XOUT|-
//            |                 |
//            |             P1.0|-->LED
//
//  J. Stevenson
//  Texas Instruments, Inc
//  July 2011
//  Built with Code Composer Studio v5
//***************************************************************************************
#include <msp430.h>                
void main(void) {
    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
    P1DIR |= 0x01 | 0x01 << 6;        // Set P1.0/P1.6 to output direction
    P1DIR &=~(0x01 << 3);            // Set P1.3 to input direction
    P1REN |=0x01 << 3;                // Set P1.3 pullup
    for(;;) {
        volatile unsigned int i;    // volatile to prevent optimization
        if(!(P1IN &= 0x01 << 3))    //检测P1.3按键是否按下
        {
            P1OUT ^= 0x01;                // Toggle P1.0 using exclusive-OR
            while(!(P1IN &= 0x01 << 3));
        }
        P1OUT ^= 0x01 << 6;                // Toggle P1.0 using exclusive-OR
        i = 20000;                    // SW Delay
        do i--;
        while(i != 0);
    }
    
}

仅以此记录以备忘。 又多点了一种灯,哈哈哈!

发表评论

邮箱地址不会被公开。 必填项已用*标注