postavil jsem tyto hodiny a po naprogramování ATmegy8 nechodí jak mají - na segmentovce bliká postupně / z prava do leva / jedna číslice / nula / - jako světelný had. Zapojení jsem několikrát procházel, mám podezření na hex soubor nebo na špatně nastaveny fusses v PonyProg2000, programuji pomocí STK200 a pojistky jsou nastaveny takto : SPIEN, BOOTSZ1, BOOTSZ0, CKSEL3, CKSEL2, CKSEL1 jsou zaškrtnuty. Kde je problém ? Při programování jsem si už taky zamknul Atmegu a musel ji léčit sic úspěšně,ale stále dál nevím, kde je chyba !? Díky za pomoc
administrator: přesunuto z “Elektronika s mikrokontroléry, procesory”
Máš nastaven externí oscilátor, procesor by ti neměl pracovat vůbec, ani by neměl bez externího zdroje hodin (to není krystal) odpovídat programátoru.
Nastavení pro krystal je:
CKOPT = 0 (zaškrtnuto)
CKSEL3:1 = 111 (nezaškrtnuto)
CKSEL0 = 1, SUT1:0 = 11
Ten program v příloze není celej, moc toho tam nevyčtem.
tady je odkaz na originál stránku daqq.eu/index.php?show=prj_avr_clock_1
a opět jsem si zablokoval megu - zkoušel jsem jiné nastavení fusses, až ho vyléčím , tak se pokusím nastavit pojistky jak uvádíte díky
Jak ji léčíš?
Stačí připojit na XTAL1 nějaký zdroj hodin. Klidně to může být jiný mcu, ve kterém je naprogramované blikátko s maximální rychlostí a pracuje na interním RC (aby nebylo nutné při programování měnit fuses). Mě se podařilo najít na nějaké staré desce krystalový oscilátor (což není krystal), ten je na to ideální.
Jakmilé máš zdroj hodin, mcu zase začne s programátorem komunikovat.
léčím ji pomocí druhé ATmegy8, dobře je vše popsáno v článku, do doktora je třeba nahrát léčící program !!! vše dobře propojit, připojit napájecí napětí pro procesory 5V a 12V léčící napětí, zavřít oči a stisknout tlačítko u reset doktora. Pokud je vše OK, tak je mega taky OK.
tak bohužel, i po dalším pokusu nezdar. Můžete mi prosím napsat, které pojistky mají být zaškrtnuty a které ne ? asi jsem dost dobře nerozuměl /nepochopil/ piity yho
Proměnné min_1 a hour_1 musejí mít v deklaraci prefix “volatile”. Jsou totiž použité v přerušení i mimo něj.
Nejdřív se podívej, jesli máš mcu v továrním nastavení, vypadá asi jako “rc osc.gif”. Můžou tam bejt odlišnosti, důležitý jsou SUT, CKSEL a CKOPT.
Nahraj tam blikátko s frekvencí 1Hz. Musí to blikat správně rychle.
Pak přenastav pojistky na “kryst osc.gif”. Blikátko se 14x zrychlí. Jesli ne, něco je špatně. Nakonec tam nahraj hodiny.
podařilo se hex blikátka nahrát a mega bliká cca 1x za sekundu. Jakmile jsem chtěl přeinstalovat pojistky na rychlejší frekvenci, PonyProg zahlásil device missing or unknown device (-24). Co to může znamenat ?
janicek: To se stalo až po změně pojistek? To by taky měl mcu přestat blikat. Pokud ano, znamená to, že ti nejede oscilátor. Buď blbě pojistky, nebo se nerozeběhne oscilátor. Občas za to můžou kondíky u krystalu. Pokud tam máš 12pF jako ve schématu, můžeš zkusit zvýšit na na 22 nebo 33pF.
Martin: to rozhodně, ale zas to naštěstí netrvalo moc dlouho .
u blikátka jsem žádné kondy a krystal neměl, zapojení +5V na 7 pin, - na 8 pin, Led přes 330 ohm z 15 pinu na - pol. A mega zahlásila chybu až po změně pojistek a pokusu je nahrát.
Ty chceš aby se mi něco stalo viď . Ale to se ti nepovede .
Když přenastavíš pojistky z interního oscilátoru na krystal, tak tam samozřejmě musíš mít ten krystal připojený.
pin7 a pin20 (piny spojené): +5V
pin8 a pin22 (piny spojené): GND
Mezi +5V a GND vložit kondik 100nF co nejblíže mcu.
LED máš dobře.
Krystal mezi piny XTAL1(pin8) a XTAL2(pin9) včetně kondiků jak to máš ve schématu. daqq.eu/img/projects/sch_hodiny_avr.gif
znovu jsem opravil megu, nahrál blikátko a zapojil i krystal s kondíky, tak jako ve schématu.Při interním oscilátoru Led blikala rychleji než včera a tak jsem přenastavil pojistky - výsledek je zase chyba device missing …(-24).