今天翻出来了十年前的MSP430G2开发板,写一个专业的点灯
该开发板为G2LaughPad V1.5按钮为P1.3
LED为P1.0和P1.6
好久没用MSP430了,写代码要专业一点,不能学参考代码之间就对寄存器操作
#include "intrinsics.h"
#include "msp430g2553.h"
#include <msp430.h>
void led_init(void)
{
P1DIR |= BIT0|BIT6; //LED1和LED2所在引脚设置为输出模式
P1OUT &= ~(BIT0|BIT6); //LED1和LED2所在引脚设置为初始化输出低电平
}
void button_init(void)
{
P1DIR &=~BIT3; //S2引脚在P1.3,设置为输入模式,配置为上拉电阻
P1REN |= BIT3;
P1OUT= BIT3;
}
void led1_on(void)
{
P1OUT |=BIT0;
}
void led2_on(void)
{
P1OUT |=BIT6;
}
void led1_off(void)
{
P1OUT &=~BIT0;
}
void led2_off(void)
{
P1OUT &=~BIT6;
}
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
button_init();
led_init();
for (;;)
{
if((BIT3&P1IN)==BIT3)
{
led1_on();
__delay_cycles(500000);
led2_on();
__delay_cycles(500000);
led1_off();
__delay_cycles(500000);
led2_off();
__delay_cycles(500000);
}
else
{
led1_on();
led2_on();
__delay_cycles(500000);
led1_off();
led2_off();
__delay_cycles(500000);
}
}
}
这样就方便修改,也可以避免操作到了其他不相干的位,比如P1.0,要在P1OUT对应的BIT3输出高电平才可以使得内部上拉电阻工作。
看着像51的风格 yueguang3048 发表于 2025-1-9 09:16
看着像51的风格
是的,早期的51,MSP430,AVR,PIC都是寄存器操作,看着风格像。
页:
[1]