求助!!!单片机msp430G2553,关于LED的一个小程序。

2019-07-15 20:07发布

#include"msp430g2553.h"
void main(void) {
        void Blink_LED();
        WDTCTL=WDTPW+WDTHOLD;       //关闭看门狗
        P1DIR=BIT6;
        P2DIR=BIT0;
        while(1)
        {
                Blink_LED();
        }
}
void Blink_LED()
{
        _delay_cycles(1000000);       //控制第二个LED        P1OUT^=BIT6;
        _delay_cycles(1000000);       //控制第一个LED
        P2OUT^=BIT0;
       
}
请问哪出错了?该怎样写?谢谢啦!!(目的是:让两个LED交互闪烁!)

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
1522495332
2019-07-16 05:54
你的现象应该是一个灯先亮,另一个后亮,一个灯先灭,后一个再灭,对吧。也就是两个灯的状态没有做到相反。要实现你要的功能很简单,在你的基础上小改动一点就行了
#include"msp430g2553.h"
void main(void) {
        void Blink_LED();
        WDTCTL=WDTPW+WDTHOLD;       //关闭看门狗
        P1DIR=BIT6;
        P2DIR=BIT0;
        P1OUT |= BIT6;
        P2OUT &= ~BIT6;

        while(1)
        {
                Blink_LED();
        }
}
void Blink_LED()
{
        _delay_cycles(1000000);       //控制第二个LED
        P1OUT^=BIT6;
        P2OUT^=BIT0;

}
顺便说一下,5楼回答的不能实现你的功能,他只能做到两个灯同时两灭,还不如你的代码

评分

参与人数 1积分 +10 收起 理由 zhou2sheng + 10 感谢您的参与,您的支持是我们最大的动力.

查看全部评分

一周热门 更多>