Program w C na mikrokontroler MSP430

0

Witam.
Właśnie uczę sie programować mikrokontroler MSP430G2553 (LaunchPad) w języku C.
Niestety napotykam na problemy... obsługę wyjść już opanowałem.Przyszedł czas na wejścia
chciałbym aby na wciśnięcie przycisku dioda zapalała się, a zwolnienie przycisku ma spowodować zgaszenie diody (lub odwrotnie)

Napisałem program, niestety coś jest nie tak bo program nie działa (ale przez kompilator przechodzi bez problemu).
Byłbym bardzo wdzięczny, gdybyś ktoś poświęcił chwilę i zobaczył co jest nie tak, gdyż już dosyć długi czas nad tym siedzie, próbuję różnych sposobów ale niestety nie wychodzi.
Pozdrawiam i z góry bardzo dziękuję

Oto kod programu.



  #include <msp430.h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD;



  P1DIR |= BIT0;                                                      // port P1.0 jako wyjście (dioda LED)
  P1OUT &=~BIT0;                                                      // stan niski na P1.0
  
 
  P1DIR &=~  BIT3;                                                    // port P1.3 jako wejście
  P1REN |=   BIT3;                                                    // włącz rezystor podciągający
 
         for(;;)
{
         {
  if( (P1IN & BIT3) == 0 )                                             // sprawdź stanu przycisku  
    {
         
           P1OUT |=  BIT0;                                            // gdy przycisk jest wciśnięty
       }                                                              // włącz diodę LED
        else                                                                       
        {                                                              // gdy przycisk jest zwolniony
            P1OUT &=~ BIT0;                                            // wyłącz diodę LED
        }   
         
}
}                                   

0

@Andy Misio ze statycznym sprawdzeniem diody ok, ale nie pisz bzdur z 1 << n, MSP to nie AVR. Nie mam dostępu do datasheeta, ale czy na płytce nie ma już rez. podciągających w dół/górę (odwrotnych do tych z uC)? Albo nie musisz ustawiać niczego w P1SEL, bo taki rejestr chyba też tam jest...? Ew. może kierunek podciągu jest ustawiany?

1 użytkowników online, w tym zalogowanych: 0, gości: 1