logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[18f45k20][C18] - Brak reakcji procesora na programowanie

michalSwiat 04 Sie 2012 16:16 1678 8
REKLAMA
  • #1 11175205
    michalSwiat
    Poziom 11  
    Posty: 12
    Pomógł: 1
    Ocena: 1
    Mam problem z zaprogramowaniem wymienionego uc. Znajduję się on na płytce prototypowej dołączonej do programatora PicKit3.
    Na płytkę wlutowałem kwarc X1 i kondensatory przy nim. Z zewnątrz podaje napięcie 3,3V.
    Program:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Wszystko się kompiluje, programuje. Weryfikacja przebiega prawidłowo. Niestety na porcie D same zera.
    Co jest nie tak z programem, konfiguracją?
    Dodam, że tym programatorem obsługiwałem PIC16 i wszystko działało prawidłowo.
  • REKLAMA
  • REKLAMA
  • #3 11176180
    Konto nie istnieje
    Konto nie istnieje  
  • #4 11176265
    Urgon
    Poziom 38  
    Posty: 7279
    Pomógł: 197
    Ocena: 2632
    AVE...

    Ale za to gwarantują, iż na pewno stosowne rejestry zostaną poprawnie zainicjowane...

    Sprawdziłbym też podłączenie pinu MCLR, w minimalnej konfiguracji jednak jest sugerowany conajmniej rezystor, jeśli nie dwa rezystory, kondensator i dioda...
  • REKLAMA
  • #5 11176633
    Konto nie istnieje
    Konto nie istnieje  
  • #6 11176657
    Urgon
    Poziom 38  
    Posty: 7279
    Pomógł: 197
    Ocena: 2632
    AVE...

    Strona 130 noty katalogowej tak radzi. Najpierw wyczyścić zawartość rejestru PORTD lub LATD(zrobienie jednego i drugiego zwiększy kod tylko o 2 bajty), a dopiero potem ustalać kierunek pracy portu i bawić się nim. Ja tego nie wymyśliłem, ja cytuję notę...

    Zawsze można uruchomić ten kod z wewnętrznym oscylatorem...
  • REKLAMA
  • #7 11176698
    michalSwiat
    Poziom 11  
    Posty: 12
    Pomógł: 1
    Ocena: 1
    Dziękuje za odpowiedzi.
    Z wpisaniem najpierw 0 do PORTD (czy LATD) już próbowałem. Kwarc to 8 MHz i dwa kondensatory 27 pF. Ustawiałem FOSC na XT i HS. Ten sam efekt.
    Cytat:

    Czy kolega kasuje config i nadpisuje go przy ładowaniu softu?

    Nie za bardo wiem o co chodzi. MPLAB mam tak ustawiony, że najpierw usuwa on program z procesora, a potem wgrywa nowy.
    Możliwe, że nie mam rezystora przy MCLR. Nie lutowałem go, bo sądziłem, że minimalne elementy są już na płytce. Zaraz to sprawdzę.
    Jest jeszcze jedna rzecz, o której nie napisałem. Jak już nie mogłem uruchomić tego programu to bawiłem się ustawieniami config. Między innymi LVP = OFF. Czy możliwe, że PicKit programuje ten procesor tylko w ten sposób? Przy PIC16 linia od LVP wisiała sobie w powietrzu i jakoś to działało ;) .


    Sprawdziłem zgodnie z dokumentacją do PicKit3 do MCLR podłączony jest rezystor 10k. Może jest jeszcze jakiś config, który koniecznie trzeba ustawić, a ja go pomijam?
  • #8 11176864
    Konto nie istnieje
    Konto nie istnieje  
  • #9 11176944
    michalSwiat
    Poziom 11  
    Posty: 12
    Pomógł: 1
    Ocena: 1
    Dziękuje za pomoc. Problem się rozwiązał po tym jak sprawdziłem ostrzeżenia jak kolega poradził. Miałem literówkę przy #pragma config. Nie myślałem, że z błędem może się skompilować. Jak zwykle wyszło roztrzepanie.

    Co do wersji to mam MPLAB 8.63. Ustawiłem kasowanie configa. Teraz działa zarówno na wewnętrznym jak i na HS. Zestawu instrukcji nie muszę włączać.

    Na przyszłość zanim będę zakładał nowe tematy odnośnie pomocy i denerwował się na procesory, najpierw dokładnie przejże kod :( .

Podsumowanie tematu

✨ Użytkownik zgłosił problem z programowaniem mikrokontrolera PIC18 na płytce prototypowej z programatorem PicKit3. Mimo poprawnej kompilacji i weryfikacji, port D nie reagował, co prowadziło do dyskusji na temat konfiguracji i podłączeń. Uczestnicy zasugerowali sprawdzenie podłączenia pinu MCLR oraz użycie rezystora, a także weryfikację kwarcu i kondensatorów. Ostatecznie problem został rozwiązany po odkryciu literówki w konfiguracji pragma, co uniemożliwiało poprawne działanie programu. Użytkownik potwierdził, że po poprawkach program działa zarówno na wewnętrznym oscylatorze, jak i na kwarcu HS.
Wygenerowane przez model językowy.
REKLAMA