2017-03-27 2 views
-2

TI MSP430 마이크로 컨트롤러에서 아래 코드를 실행 중입니다. 기본적으로 두 LED를 정기적으로 전환하는 것이 좋습니다 (핀 1.0 및 핀 4.7). 불행히도 핀 1.0의 LED 만 토글되고 다른 하나는 항상 켜져 있습니다. 누군가가 왜 그런지 말해 줄 수 있습니까?TI MSP430의 LED 토글

int main(void) { 
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer 

// Set P1.0 and P4.7 as output pins 
P1DIR |= BIT0; 
P4DIR |= BIT7; 

for(;;) 
{ 
    P4OUT |= BIT7; 
    __delay_cycles(2500000); // 1sec at 25MHz 

    P1OUT ^= BIT0; 
    P4OUT &= 0x0; 

} 


return 0;} 
+1

코드를주의 깊게 읽으십시오. 그리고 디버거를 사용하십시오. – Olaf

답변

3

은 핀 4.7에 대한 순서는 기본적으로 말을하기 때문에 : 그것은 루프에서 이루어지기 때문에

1) Turn the led on 
2) Wait 
3) Turn the led off 

우리가 그것을 다시 정렬 할 수 있습니다 :

3) Turn the led off 
1) Turn the led on 
2) Wait 

그래서 사이에 지연이 없다 (3) 및 (1). 따라서 LED가 꺼지는 시간은 무시할 수 있습니다.