Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

MSP 430 - Wektor przerwania - pytanie

08 Lut 2016 13:38 4512 8
  • Poziom 8  
    Dzień Dobry

    Posiadam Launchpad i zapoznaję się z mikrokontrolerem MSP430. Mam pytanie odnośnie procedury obsługi przerwania.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Znalazłem taki szablon i zastanawia mnie dlaczego tak jest to zrobione a mianowicie:

    1. Co oznacza "pragma" i jaką rolę tutaj odgrywa?

    2. Czy można odwołać się do wektorów przerwań zdefiniowanych w io430g2553.h bezpośrednio bez tego "pragma"? Czy jednak koniecznie mam postępować według tego szablonu, który przedstawiłem jako przykład?
  • Pomocny post
    Poziom 15  
    Code:

    #pragma vector = <VECTOR_NAME>
    __interrupt void <ISR_NAME> (void) {
        // сюда вписывается код обработчика прерывания
    }

    #pragma słowo używane w C do pisania specjalnych poleceń konkretnego kompilatora, co oznacza, że ​​inny kompilator gcc na przykład, ta linia będzie po prostu ignorowana. W tym przypadku, kompilator MSP430 jest instruowany, aby dołączyć następujący kod do wywołania przerwania nazwa VECTOR_NAME, nazwa musi dokładnie powtórzyć to, co jest napisane w pliku nagłówka modelu mikrokontrolera, i jest formą czytelna wartość adresu zapis przerwania tablicy wektorów. Zauważ, że linia z #pragma słów kluczowych, nie ma średnika na końcu.

    __interrupt oznacza początek funkcji obsługi przerwań. Możesz napisać każdą obsługi nazwy w miejsce ISR_NAME, ale są powszechnie stosowane opisowe nazwy, takie jak P1_ISR, port procedury przerwania P1 lub TA0_ISR A0 obsługi timera przerwania (w mikrokontroler może być dwu-timer A, A0 zegar i timer A1, odpowiednio).

    Wszystko inne piszemy tak jak zwykle. Nie trzeba specjalne zespoły powrotu z przerwania w C, w przeciwieństwie do zespołu, który jest wykorzystywany instrukcji RETI.

    http://mspsci.blogspot.fr/2010/08/tutorial-10-something-completely.html
  • Poziom 8  
    Ok. Mam jeszcze pytanko z innej beczki. Mam problem z dodaniem plików do projektu w IAR. Jest może osoba, która ma doświadczenie z tym środowiskiem i jest w stanie mi powiedzieć jak dodać pliki ".c" i ".h" tak, żeby to poprawnie później skompilować.
  • Pomocny post
    Specjalista - Mikrokontrolery
    Dodaje się wyłącznie pliki .c i ew. ustawia ścieżkę dostępu do plików .h.
  • Pomocny post
    Poziom 15  
    Tworzenie projektu:
    Project -- Create New Project -- C -- main
    Project -- Options -- General Option Device (MSP430G2452IN20 MSP430G2553IN20 )
    Project -- Options -- Linker Overrite Default main.hex Other Intel-extended

    Dodawanie plików:
    Pliki *.c *.h rzucać w folderze z projektem
    Project -- Add Files..
  • Poziom 8  
    Ok. Wszytko się kompiluje. Mam kolejne pytanie. Chcę zrobić komunikację z terminalem Putty za pomocą przejściówki RS232 i tutaj pojawiają się dwie zworki na launchpadzie i pojęcie Software UART i Hardware UART. Pierwszy raz się spotykam z czymś takim a boję że uszkodzę przejściówkę. Mógłby ktoś rozjaśnić o co tu chodzi?
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 8  
    Ok, ale jeżeli chcę skorzystać z zewnętrznej przejściówki to zworki 4 i 5 mają być całkowicie rozwarte? Czy mają być w horizontal orientation czyli w konfiguracji Hardware UART?