Zaslal: so říjen 18 2025, 17:43 Předmět: Atmega328p - nejde nahrát program v arduino UNO
Ahoj,
stalo se mi při hraní s hardujínem, že přestal fungovat čip. OK, nadrátoval jsem paralení programování, kompletně ho smazal, nahrál bootloader.
LED bliká, v IDE je vidět a hlásí se připojen. Jupí. Jenže v UNO desce do něj nejde nahrát program - chyba v komunikaci. LED Tx jen párkrát problikne, pak to vyhodí chybu.
Tak jsem zkusil optiboot (to už taky umím). LED 3x problikne, vše vypadá OK, ale zase - nejde nahrát program v UNO desce.
Tak jsem zkusil kompletní kopii celého programu z jiné Atmegy - včetně pojistek. A světe div se, normálně to chodí. Display je ovládán přes piny Uno 13(brouk 17-sck), 11(15-mosi) a 10-8. A normálně funguje. Tak jsem na funkční atmeze dopsal ještě blik LED na pinu 12(16-miso), opět nakopíroval do nefunkční a bliká.
Dám ho do UNO desky, funguje i v desce. Chci do něj nahrát program přes UNO - chyba.
Jiný brouk, ať už s kopií original bootloaderu arduina, nebo s optibootem problém nemá.
Tohle mě hlava nebere. Už se s něčím takovým někdo z vás potkal?
Založen: Jun 26, 2009 Příspěvky: 1469 Bydliště: Hlohovec (Sk)
Zaslal: so říjen 18 2025, 18:08 Předmět:
obávam sa že väčši arduinistov to rieši podobne ako ja - nefunguje? Vyhodím. Iba v jednom arduine, kde som mal čip na konektore (nie napajkovany v doske), som ho vymenil. Na inom som mal problem s komunikačným čipom - koš
Alebo, ešte ak máš funkčný čip s akymkoľvek programom, ale nahraný v arduine, tak si ho prepáľ v programátore, aj poistky samozrejme. Skús nahrať v arduine nový program a uvidíš.
Tak ještě jedna věc - program sice běží, ale nefunguje reset. A to mi taky hlava nebere, protože reset se používá při programování přes SPI.
Pojistky jsou OK. Arduino boot loader je má nastaveny jinak, než optiboot. Taky jsou na jiných adresách - bootloader je od 0000H, kdežto optiboot 7E00H.
Je mi jasné, že je po něm. Ještě jednou zkusím paralelní výmaz a pak půjde z domu. Ale je to zajímavé chování
Typické poruchy uploadu:
- nastavení oscilátoru interní / externí, pojistka fusebits
- nastavení oscilátor rychlost, pojistka fusebits, Fosc./8
- nastavená rychlost přenosu UART Baud bootloaderu ve Flash, jiná než rychlost IDE
- neproběhne reset chipu před uploadem
- COM port ve Windows nefunguje
Myslím, že je škoda ho pustiť z domu. Nahraj si program na takom ktorý je funkčný a prepáľ HEX. Použiješ vo finalnej konštrukcii, kde bootladery netreba a ten pôvodný ti ostane ako funkčný pre ďalšie použitie.
Nemyslím. Nepíšeš, že vynecháva, alebo štrajkuje, ale ak je napálený a funguje tak ako potrebujem teraz, tak mám skúsenosti, že poslúcha aj neskoršie a to používam čipy z Ali..., ktoré majú síce rôzne parametre, ale keď idú, tak idú. A nechceš ho zapracovať do kozmickej lode? Či ?
Ahoj, mám dotaz, dávám sem, ať zbytečně nezakládám další téma...
Cílem je mít naprogramovaný atmega z arduina uno a nechat ho běžet samostatně s interním oscilátorem 8MHz.
To se mi povedlo tak, že jsem ho vzal, změnil odpovídající pojistky. Běží. Rád bych si ale ještě něco upřesnil...
1. je nutno zadávat frekvenci příkazem "#define F_CPU 8000000UL"? Funkci delay v programu na jednom místě používám (50ms).
2. v adresáři ...\AppData\Local\arduino\sketches\... jsem našel hex s bootloaderem a hex bez bootloaderu. Předpokládám, že po odladění stačí nahrát hex bez bootloaderu pro běh samotného programu. Ale nějak se mi nedaří správně nastavit pojistky. S bootloaderem mi to funguje.
Díky za odpovědi.
Použité knihovny: Adafruit_GFX.h, Adafruit_SSD1331.h SPI.h LowPower.h
Založen: Apr 02, 2011 Příspěvky: 20135 Bydliště: Nový Bydžov
Zaslal: so prosinec 13 2025, 16:39 Předmět:
Já jsem asi před dvěma lety narazil na nějakej problém po výměně vadný ATmega 328P za novou ATmega 328PB. Něco právě kolem bootloaderu. Ale už nevzpomenu, co to přesně bylo. Asi nejsou úplně totožný, třeba Bascom prostředí má pro 328P a 328PB jinej definiční soubor. _________________ Jirka
První si ujasni, jak budeš procesor v zapojení nahrávat (USB převodník/serial), pokud tedy budeš. Podle toho je třeba vybrat bootloader.
Jestli bootloader používá stejné nastavení oscilátoru jako tvůj program, pak frekvenci psát nemusíš. Pokud nepoužívá, pak je lepší ji napsat.
Bootloader používej, od toho je, aby usnadňoval práci. Pokud ho nepoužiješ, pak se to nijak neliší od běžné práce (ISP programování), včetně např. toho, že (i v tom prostředí) můžeš psát v čistém C.
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.