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

[ATtiny13] mrugająca dioda FUSE BIT

Manio95 05 Sie 2010 14:09 5170 30
REKLAMA
  • #1 8367603
    Manio95
    Poziom 21  
    Witam
    Zablokowałem już kiedyś przez przypadek atmegę8 więc więc wole się zapytać zanim coś zaprogramuję.

    Można powiedzieć, że jest to moje drugie starcie z mikroprocesorem.
    Zakupiłem ATtiny13-20PU i jako pierwsze postanowiłem wykonać mrugająca diodę i mam program:

    $regfile = "attiny13.dat"
    $crystal = 1200000
    
    Config Pinb.3 = Output
    
    Do
    Set Portb.3
    Wait 1
    Reset Portb.3
    Wait 1
    Loop
    
    End


    Schematu wiadomo nie potrzeba do tak prostego układu ale mam pytanie:
    Czy po zaprogramowaniu ATtiny13 muszę ustawiać jakieś FUSE BIT jesli tak to jak i w jakim programie bo nie chcę zmarnować drugiego procesora.
    Szukałem już na elektrodzie ale nie znalazłem odpowiedzi na moje pytanie.
    Dziękuję za odpowiedź.
    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 8367613
    landy13
    Poziom 31  
    Nic nie zmieniaj. Ten program i zapewne wiele innych na początek będzie działać z fusebitami "fabrycznymi'.
  • #3 8367681
    Manio95
    Poziom 21  
    Dziękuję a pomoc.
    Układ działa świetnie.
    A takie pytanie:
    A jakbym zmieniłbym te FUSE BIT to potem żeby zaprogramować to potrzebowałbym rezonatora kwarcowego?
  • #4 8367693
    McMonster
    Poziom 32  
    Zależy, jak zmienisz. Najlepiej zajrzeć w datasheet układu i poczytać, jakie bity za co odpowiadają.
  • #5 8367721
    Manio95
    Poziom 21  
    Wiem, że może poruszam to nie w tym temacie ale po co mam zakładać nowy.
    Chodzi o tą atmege8.
    Programowałem ją według tej instrukcji: http://projekty.qrz.pl/index.php?option=com_c...nie-mikroprocesora&catid=6:projekty&Itemid=10 i na dole pisze "Tak zaprogramowany mikrokontroler jest gotów do pracy z zewnętrznym rezonatorem." i próbowałem ją zaprogramować to nic się nie dzieje.
    Widok ustawień FUSE BIT.

    Lock bits
    0xFF
    Fuse bits
    0xEF
    0xD9
    Więc nie wiem co mam zrobić aby ją zaprogramować?
    Dodać jakiś rezonator kwarcowy.
  • #6 8367784
    landy13
    Poziom 31  
    Skoro LFuse jest EF, to musisz podłączyć kwarc.
  • REKLAMA
  • #7 8367789
    Manio95
    Poziom 21  
    A jaki kwarc to ma być (ile MHz?)
  • #8 8367809
    landy13
    Poziom 31  
    Jaki chcesz. Byle nie jakiś wolny, np. zegarkowy. Kwarce stosuje się jeśli potrzebujesz taktowania szybszego niż 8MHz (dotyczy ATmega8) lub precyzyjnego odmierzania czasu.
  • REKLAMA
  • #9 8367815
    Manio95
    Poziom 21  
    A musze jeszcze dodać te kondensatory ceramiczne przy nim?
  • REKLAMA
  • #10 8367834
    landy13
    Poziom 31  
    Skoro producent wymaga to powinieneś dać. Ale w większości przypadków działa i bez nich.
  • #11 8367915
    Manio95
    Poziom 21  
    Taki 12MHz z starej karty z game port może być?
  • #12 8367974
    landy13
    Poziom 31  
    Może być. Tylko trzeba jeszcze zaprogramować fusebit CKOPT.
  • #13 8367991
    Manio95
    Poziom 21  
    No właśnie już mi się udało zaprogramować tą atmege ale jak zrobić aby działała bez tego rezonatora (jaki program użyć aby zmienić te FUSE BIT ?
  • #14 8368074
    landy13
    Poziom 31  
    Manio95 napisał:
    jaki program użyć aby zmienić te FUSE BIT ?
    Ten sam którym zmieniałeś poprzednio. Zmienisz LFuse z EF na E4 czy ile tam potrzebujesz.
  • #15 8368101
    Manio95
    Poziom 21  
    Ale wpierw użyłem programatora na LPT A. Dybkowskiego ale teraz nie mam już LPT a on nie obsługuje programatora na LPT.
    Zaraz poszukam jakiegoś innego programu.
  • #16 8368118
    landy13
    Poziom 31  
    Jaki masz programator? Program którym ładujesz flash na pewno zmieni też fusebity.
  • #17 8368141
    Manio95
    Poziom 21  
    Flash ładuję programem bascom.
    Znalazłem, że tam należy nacisnąć programowanie ręczne jednak jak nacisnę to nic się nie dzieje :(
  • #18 8368211
    McMonster
    Poziom 32  
    Chyba chodziło o urządzenie, a nie jakiego programu używasz.
  • #19 8368224
    Manio95
    Poziom 21  
    Mam zakupiony programator AVR_USB na atmega8 i tyle o nim wiem.

    Dodano po 14 [minuty]:

    Zmieniłem już te EF na E4 i teraz już w ogóle nie ma "kontaktu" z procesorem.
    Pisze tak samo jak bez podłączonego procesora.
  • #20 8368495
    adi84_84
    Poziom 14  
    Daj chociaż fotkę tego programatora,bo jak ci mamy pomóc jak sam nie wiesz czego używasz.Albo może daj link (jeśli masz taki) gdzie go kupiłeś.
  • #21 8368504
    Manio95
    Poziom 21  
    Jest to programator zgodny z STK500v2 zakupiony niedawno na allegro (numer 1166034286)
    Zdjęcie:
    [ATtiny13] mrugająca dioda FUSE BIT
  • #23 8368577
    Manio95
    Poziom 21  
    Dzięki ale teraz już pisałem, że jak zmieniłem te EF na E4 to zero kontaktu z atmegą :(
    Program zachowuje się tak, jakby nie było podłączonego procesora (ale z innym procesorem działa normalnie) i nie wiem, czy da się jeszcze coś z tym zrobić?
  • #24 8368602
    adi84_84
    Poziom 14  
    To i tak zainstaluj avrdude,zobaczymy jak wtedy będzie przebiegała komunikacja z procesorem.Nigdy nie bawiłem się tym programem którego ty używasz.Z resztą dużo ludzi używa avrdude więc myślę że łatwiej ci będzie pomóc.
  • #25 8368630
    Manio95
    Poziom 21  
    Jak naciskam read fuses to wywala błąd error reading fuses.
    i pisze:
    C:\Documents and Settings\user\Pulpit\USBASP_avrdude\avrdude\avrdude.exe -C C:\Documents and Settings\user\Pulpit\USBASP_avrdude\avrdude\avrdude.conf -p m8 -P com3 -c stk500v2  -U hfuse:r:C:\DOCUME~1\user\USTAWI~1\Temp\hfuse7185012525118394139.hex:r -U lfuse:r:C:\DOCUME~1\user\USTAWI~1\Temp\lfuse8220839984781680977.hex:r 
    avrdude.exe: stk500_2_ReceiveMessage(): timeout
    
    avrdude.exe: stk500v2_command(): command failed
    avrdude.exe: initialization failed, rc=-1
                 Double check connections and try again, or use -F to override
                 this check.
    
    
    avrdude.exe done.  Thank you.
    
  • #26 8368647
    landy13
    Poziom 31  
    Manio95 napisał:
    jak zmieniłem te EF na E4 to zero kontaktu z atmegą

    Skąd wiesz że zmieniłeś na E4 skoro nie ma kontaktu?
  • #27 8368656
    Manio95
    Poziom 21  
    Jak dodałem rezonator to już był kontakt i zmieniłem na E4 i dałem Write i już kontakt się zerwał.
  • #28 8368691
    landy13
    Poziom 31  
    Manio95 napisał:
    Jak dodałem rezonator to już był kontakt i zmieniłem na E4 i dałem Write i już kontakt się zerwał.
    Chciałeś wpisać E4. A może Ci się palec obsunął i wpisałeś E5? Albo wpisałeś E4 do HFuse zamiast do LFuse? Tego dowiesz się po odczycie. E4 to wewnętrzny oscylator 8MHz, na pewno nie zablokował ATmegi.

    Wypróbuj program kolegi mirekk36 - Link. Wersja demo obsługuje ATmega8.
  • #29 8368719
    Manio95
    Poziom 21  
    Na pewno wpisałem E4 ale nie jestem pewien, czy w odpowiednim miejscu.
    [ATtiny13] mrugająca dioda FUSE BIT
    Najpierw nacisnąłem przycisk Read zaznaczony na czerwono i pisało w pierwszej komórce D9 a w tej co zaznaczyłem na czerwono pisało EF więc zmieniłem na E4 po czym nacisnąłem Write.
    Kontakt się "zerwał".

    landy13 napisał:
    Tego dowiesz się po odczycie..

    Ja widzę bardzo małe szanse, że jakoś ją odczytam.
  • #30 8369186
    landy13
    Poziom 31  
    Manio95 napisał:

    Najpierw nacisnąłem przycisk Read zaznaczony na czerwono i pisało w pierwszej komórce D9 a w tej co zaznaczyłem na czerwono pisało EF więc zmieniłem na E4 po czym nacisnąłem Write.
    Z tego wynika, że w dobrym miejscu.
    Manio95 napisał:
    dałem Write i już kontakt się zerwał.
    Zerwał się po write, co niekoniecznie znaczy na skutek.

    Manio95 napisał:
    Ja widzę bardzo małe szanse, że jakoś ją odczytam.
    Nie bądź pesymistą. Widziałem tu wiele tematów, których autorzy twierdzili że posprawdzali wszystko milion razy. Potem okazywało się że: a to drucik się odlutował, a to pojawiło się zwarcie na płytce, a to w programie zapomniano przecinka itp.
    Nie znam Twojego programatora i nie znam przyczyn zerwania komunikacji, ale powtarzam z całą stanowczością: zmiana LFuse z EF na E4 powoduje tylko zmianę taktowania z zewnętrznego oscylatora na wewnętrzny oscylator 8MHz i nic więcej.
REKLAMA