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

ATMEGA32- program działa dopiero po odczycie fusebit-ów...?

mentor22 01 Mar 2010 12:45 2131 9
REKLAMA
  • #1 7767877
    mentor22
    Poziom 10  
    Witam:)
    Wykonuje ćwiczenia z książki P. Góreckiego i pojawił się problem. Program dotyczący licznika- działa gdy po wgraniu go do flash np. odczytam fusebits (AVRstudio) po odłączeniu zasilania i ponownym podłączeniu mikrokontroler milczy, ponowne odczytanie fuse ożywia go. Ma ktoś jakieś pomysły ? Zmieniałem ustawienia BODLEVEL nic nie daje.....
  • REKLAMA
  • #2 7767990
    manekinen
    Poziom 29  
    Jakie jest napięcie na nodze RESET po podłączeniu, gdy nie działa?
  • REKLAMA
  • #3 7768830
    mentor22
    Poziom 10  
    Mam nadzieję że dobrze odczytałem :) 4,96 V
  • #4 7769068
    manekinen
    Poziom 29  
    Obstawiałem że to wina programatora, że zostawia nie to co trzeba na liniach, i dopiero jakaś próba komunikacji z nim to naprawia. Ale to tylko kwestia niedziałającego licznika, a po za tym program się wykonuje? Dobrze żebyś pokazał jakiś schemat, cokolwiek.
  • #5 7769430
    mentor22
    Poziom 10  
    :) ok juz podaje - są to urządzenia and-tech-u( płytka testowa EvB 4.3 i programator AVRProg USBv2 (stk500v2) odpowiednio linki http://and-tech.pl/evb43 oraz http://and-tech.pl/avr-prog-usb-v2) Procek to ATMEGA32 16PU. Dodam że zarówno programowanie przez bootloadera jak przez programator ma takie same skutki.

    Dodano po 2 [godziny] 40 [minuty]:

    Jeśli chodzi o program to zaraz po zaprogramowaniu wyświetla dziwne znaki (zamiast cyfr) jeśli wejdę w zakładke fusbits wtedy naprawia się wszystko i ładnie wyświetla licznik działa - reaguje na naciśniecia przycisków(zwiększa bądz zmniejsza liczby w zależnosci od przycisku). Po całkowitym odłączeniu zasilania i ponownym podłączeniu zero reakcji wyświetlacz led wygaszony.
    KOD:
    
    '     Licznik dziesiętny rewersyjny
    Config Portb = 255                                          'wszystkie końcówki jako wyjścia
           Portb = &B11111111                                   'na początek wygaś
    Config Porta = &B11111100                                   'dwie najmłodsze jako wejścia
           Porta = &B11101111                                   'włączony prawy wyświetlacz
    Eedr = 4                                                    'najpierw dla kaprysu 4
    Do                                                          'pętla
    Debounce Pina.0 , 0 , Zmniejsz , Sub                        'naciśnięcie S1
    Debounce Pina.1 , 0 , Zwieksz , Sub                         'naciśnięcie S2
    Portb = Lookup(eedr , Tabela)                               'przepisz do PortB kody
    Loop
    End                                                         'koniec programu głównego
    Zwieksz:                                                    'etykieta zakończona dwukropkiem
    Incr Eedr                                                   'zwiększ zawartość licznika
    If Eedr = 10 Then Eedr = 0                                  'skracanie cyklu
    Return                                                      'powróć do programu głównego
    Zmniejsz:                                                   'etykieta zakończona dwukropkiem
    Decr Eedr                                                   'zmniejsz stan licznika
    If Eedr = 255 Then Eedr = 9                                 'zmniejszenie liczby ośmiobitowej
    Return                                                      '0 dałoby 255, a ma być 9
    Tabela:
    Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144
  • REKLAMA
  • #6 7774147
    Krauser
    Poziom 26  
    Niektóre linie wyświetlacza są współdzielone z programatorem. Nie napisałeś dokładnie czy problem występuje gdy programator ISP jest odłączony... próbowałeś inny port niż portb.
    Inna rzecz, że procesor jest już zaprogramowany wsadem do programowania przez RS232/USB czy ten program nie czeka na nie wiadomo co? Klasyczne bootloader'y wyzwala się stanem na wybranym pinie podczas resetu a tu nie wiadomo... może jest jakiś timeout. Czy po zaprogramowaniu nie trzeba czasem wcisnąć RESET
  • #7 7775717
    jacekk232
    Poziom 17  
    Przerabiając programy z tej książki miałem ten sam problem. Zajrzyj do tego tematu.
  • Pomocny post
    #8 7775826
    janbernat
    Poziom 38  
    W zasadzie powinienem dać Ci pomógł- ale nie ma jak.
    Bo sprawdziłem dziwne zachowanie programatora- ale nie takiego jak Twój- starego STK200- i okazało się że jedną końcówkę ma uszkodzoną HC244.
    Ale tak nie całkiem- po wejściu z Bascoma w programowanie- i po wyjściu bez żadnego programowania wszystko dobrze działało.
    Sprawdź stan wszystich wejść - miso, mosi, clk i reset przy włączonym i wyłączonym programatorze.
    Fizycznie włączonym we wtyczkę.
  • REKLAMA
  • #9 7775962
    manekinen
    Poziom 29  
    Ah, wydawało mi się że mówimy o sprzętowym liczniku, a nie o programie który sobie liczy ;)

    mentor22 napisał:
    Po całkowitym odłączeniu zasilania i ponownym podłączeniu zero reakcji wyświetlacz led wygaszony.

    Po podłączeniu zasilania do czego? Do samego układu czy do układu wraz z programatorem? Czy pomaga jedynie próba komunikacji z układem poprzez ISP czy po prostu reset? Jednak nadal obstawiam że to sprawka programatora. Profilaktycznie podciągnij ten reset przez 1K do VCC. Chociaż to co piszesz wydaje się być absurdalne, 4,96V na nodze reset a jakimś cudem porcek się nie budzi do życia :(
  • #10 7778989
    mentor22
    Poziom 10  
    To czy resetowanie pomaga również sprawdzałem i nic.. w wolnej chwili postaram się dokonać próby programowania za pomocą stk200 i sprawdzę sposób kolegi jacekk dam znać co i jak ... tak na marginesie dodam że od samego początku miałem problem z tym programatorem- AVRProg USBv2 - nie wykrywał go żaden program...może się wydać śmieszne ale przeinstalowałem system i na świeżym zainstalowałem oprogramowanie.. no i jakoś cudem ruszył, ale zdarza się że AVR Studio nie może go wykryć...Pozdrawiam
REKLAMA