#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交互闪烁!)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
/***************MSP430g2553实现一个红绿灯交替闪5秒后变红绿灯同时闪5秒又重复红绿交替闪********************************/
/********************************************************************************************************************/
#include<msp430g2553.h>
void main(void) {
WDTCTL = WDTPW + WDTHOLD;
int i;
P1DIR |=BIT0+BIT6;
while(1)
{
for(i=1;i<=25;i++)
{
P1OUT=BIT0;
_delay_cycles(100000);
P1OUT=BIT6;
_delay_cycles(100000);
}
for(i=1;i<=25;i++)
{
P1OUT=BIT0+BIT6;
_delay_cycles(100000);
P1OUT=0X00;
_delay_cycles(100000);
}
}
}
参考下吧 好久没写MSP430G2553的程序了 要知道我也是新手 可能有不足的地方
评分
查看全部评分
- void Blink_LED()
- {
- _delay_cycles(1000000); //延时
- P1OUT^=BIT6; //状态翻转
- P2OUT^=BIT0; //状态翻转
-
- }
复制代码根本就不用两个延时,一个延时就够了
#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楼回答的不能实现你的功能,他只能做到两个灯同时两灭,还不如你的代码
评分
查看全部评分
一周热门 更多>