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

lpc1225 - Proste sterowanie wyjściami.

docencior 04 Lut 2015 14:42 441 5
  • #1 04 Lut 2015 14:42
    docencior
    Poziom 10  

    Witam

    Pokrótce. Po 'poznaniu' LPC1114 chciałem wykorzystać dwa UARTY, stąd mój wybór padł na LPC1225FBD64/321. Zlutowanie układu, na początek próba zapalenia LED i już pojawia się problem...

    Używam środowiska LPCXpresso. Wbudowany kwarc 12MHZ. W pliku startupowym wszystko ustawione defaultowo tak jak w UM. Wszystko ładnie się programuje używając Flashmagic.

    Główny kod programu:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Rezultat taki, że diody się nie świecą. Pomiar napięć i okazuje się, że wszystkie IO pokazują 3,3V - dobrze, wewnętrzny pullup gdy piny ustawione jako wejścia. Mierząc P0_15 miernik wskazuje 0,9V. Zmieniłem funkcje main aby outputem z poziomem low był P0_18 a P0_15 był outputem z poziomem high. Kod poniżej.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Wynik jest taki, że P0_18 wcześniej pokazywał 3,3V a teraz pokazuje około 1V. PO_15 mimo, że ustawiono na high dalej pokazuje stan coś ala low (1V).

    Gdzie może leżeć problem? Zmierzyłem czy masa jest dobrze połączona z pinami masy układu i wszystko wydaje się być w porządku.

    0 5
  • Pomocny post
    #2 04 Lut 2015 14:59
    BlueDraco
    Specjalista - Mikrokontrolery

    Przyjrzyj się uważnie opisowi rejestrów IOCON. W Twoich przykładach nie musisz ich w ogóle modyfikować,a a Ty wyłączasz bloki cyfrowe na wyprowadzeniach, których używasz.

    0
  • Pomocny post
    #3 04 Lut 2015 19:36
    Badmaneq
    Poziom 23  

    Spróbuj tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #4 04 Lut 2015 23:06
    docencior
    Poziom 10  

    Wielkie dzięki, pomogło. Chciałem nadpisać trzy zera w trzy pierwsze bity IOCON a zrobiłem coś innego przez co tak pomieszałem funkcje, że miernik czytał jakąś wartość bez pullupa.

    PS. Błąd tkwił jednak też w "system_LPC122x.c" co jest dziwne bo np. "system_LPC11xx.c" też posiadał błąd....

    0
  • #5 04 Lut 2015 23:32
    BlueDraco
    Specjalista - Mikrokontrolery

    A po co chciałeś zmieniać te trzy bity, skoro po resecie jest wybrana funkcja GPIO?

    0
  • #6 05 Lut 2015 16:13
    Badmaneq
    Poziom 23  

    Ymm ?
    Wyjaśnij jaki błąd jest w plikach system_LPC... ?

    0
  Szukaj w 5mln produktów