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.

[PIC16F628A][MPLAB] Nie działa na IntRC

przemo.t 22 Kwi 2011 11:06 1332 4
  • #1 22 Kwi 2011 11:06
    przemo.t
    Poziom 27  

    Witam
    Dopiero zaczynam zabawę z PIC, raczej z konieczności naprawienie pewnego urządzenia, wiec proszę o wyrozumiałość ;)

    Do rzeczy:
    Procesorek PIC 16f628a, programator JDM, MPLAB + HI-TECH Ansi C.

    Pin MCLR/VPP PICa podciągnięty do VDD przez rezystor

    Programik najprostszy z możliwych do przetestowania:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Program zasymulowany w Real PIC Sim działa.
    W układnie docelowym zachowuje się jakby wykonał tylko jedna iterację pętli i zawiesił się na delay.
    Ustawia RB0 = 0 (zaświeca diodę) i koniec.

    Podczas podłączania programatora do złącza udało mi się przez przypadek uruchomić program, dioda zaczęła pulsować. Jednak był to jakiś fart ;)

    Próbowałem już chyba wszystkich kombinacji konfiguracji fuse bitów. Bez pozytywnego rezultatu.

    Proszę o pomoc kogoś bardziej obeznanego w PICach, za chwile chyba stracę cierpliwość i wsadzę tam na pająka jakiegoś AVR.

    0 4
  • #2 22 Kwi 2011 14:13
    don diego
    Poziom 32  

    Kod: c
    Zaloguj się, aby zobaczyć kod


    To chyba nie są 4MHz.
    Spróbuj:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #3 22 Kwi 2011 15:17
    przemo.t
    Poziom 27  

    Tak zgadza się, mój błąd przy wklejaniu kodu, jak widać próbuje już wszystkich możliwości. Oczywiście w oryginale jest 4000000, poprawione. Sytuacja bez zmian.

    Opisywany wcześniej przypadek kiedy układ działał w momencie wpinania programatora udało mi się rozpracować.

    Układ działa kiedy jest zasilany z programatora i ma podpiętą linie CLK z programatora pin RB6/T1OSO/T1CKI/PGC. Po wypięciu tego pinu układ staje.

    Wychodni na to że rodzaj zegara jest źle skonfigurowany i układ działa tylko przy zewnętrznym taktowaniu.

    Jak to zmienić w kompilatorze Hi-tech?

    0
  • #4 22 Kwi 2011 17:30
    adam cs
    Poziom 14  

    To że masz PGC podpiete do programatora to NIE jest zewnetrzne taktowanie jak to napisałeś.
    Programujesz niskim napięciem? Tak wynika z ustawień bitów konfiguracyjnych. Nigdy nie programowałem przez LVP ale o ile mi wiadomo w docelowym układzie linia RB4 podinna być ściągnięta wtedy do masy przez rezystor.

    0
  • #5 22 Kwi 2011 18:02
    przemo.t
    Poziom 27  

    adam cs napisał:
    To że masz PGC podpiete do programatora to NIE jest zewnetrzne taktowanie jak to napisałeś.
    Programujesz niskim napięciem? Tak wynika z ustawień bitów konfiguracyjnych. Nigdy nie programowałem przez LVP ale o ile mi wiadomo w docelowym układzie linia RB4 podinna być ściągnięta wtedy do masy przez rezystor.


    Nie wiem czy to zewnętrzne taktowanie czy nie, wiem że wtedy działa, nie mam oscyloskopu ani sondy aby zobaczyć co tam się dzieje w rzeczywistości.

    Jeśli programuje bez LVP dostaje błędy weryfikacji programowania.
    Ściągnięcie RB4 do masy odpada, w oryginalnym schemacie na tym porcie siedzi przycisk, który właśnie ściąga do masy.


    edit----------------------------
    po wyłączeniu wszystkich fuse bitów układ ruszył.
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Ma ktoś jakieś pomysły dlaczego tak? ;)

    0