Stránka 1 z 2
Atmega328p - nejde nahrát program v arduino UNO a další
Napsal: 18 říj 2025, 18:43
od DukeNuke
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?
Napsal: 18 říj 2025, 19:08
od misocko
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š
Napsal: 18 říj 2025, 20:34
od rnbw
Napsal: 19 říj 2025, 12:29
od jankrizan
Ak si nahrával znova bootlader, máš správne poistky? Ja mam low 0xFF, high 0xDE, extended 0xFD, lock 0xFF.
Napsal: 19 říj 2025, 12:35
od jankrizan
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íš.
Napsal: 19 říj 2025, 19:15
od DukeNuke
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í

Napsal: 19 říj 2025, 19:35
od bdn
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
Napsal: 19 říj 2025, 20:03
od jankrizan
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.
Napsal: 19 říj 2025, 20:43
od DukeNuke
Takhle by použít samozřejmě šel. Ale věřil bys mu? Jedině tak do něčeho, kde nic neřídí a na čem nezáleží.
Napsal: 20 říj 2025, 08:45
od jankrizan
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 ?
Napsal: 23 říj 2025, 17:48
od DukeNuke
Já jsem ještě ze staré školy. A když dám něco dohromady, tak to musí být bez chybičky.
Napsal: 13 pro 2025, 14:31
od DukeNuke
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
Napsal: 13 pro 2025, 16:39
od Celeron
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.
Napsal: 13 pro 2025, 17:26
od DukeNuke
Ahoj, je to ATmega 328P (resp. PU) - programuju v arduino uno rev.3
Napsal: 13 pro 2025, 20:19
od Mahoney
Cílem je mít naprogramovaný atmega
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.
vadný ATmega 328P za novou ATmega 328PB.
Je na to
Appnote.