Go Down

Topic: [RISOLTO] ATMega328 - Arduino AVR ISP - set fuse (Read 4 times) previous topic - next topic

DanielaES

Non era un refuso, ho davvero settato delay 10, però potrei sbagliarmi nel tempo del lampeggio veloce... Misurando ad occhio potrebbero essere 500 ms od altro... Mettiamola così, non era veloce come dovrebbe essere a 10.
Il quarzo è a 16, le saldature mi sembrano ok per quanto ho potuto verificare con il tester.
Se mi dite come riprogrammare i fuse nel primo pomeriggio sono a casa e faccio un tentativo, io mi ero limitata a seguire la guida di menny copiando pari pari i passaggi.
Scusate se scrivo sintetica ma sono dall'iphone

astrobeed


Scusate se scrivo sintetica ma sono dall'iphone


Se non hai settato i fuse allora il tuo ATmega sta lavorando a 1 MHz invece di 16, tutti gli AVR nuovi hanno il fuse del clock settato per l'oscillatore rc interno, 8 MHz, e il prescaler 1:8 attivo.

DanielaES

Con la scusa del pranzare a casa ho risolto, stasera dico come e quando e percome ed aggiorno il titolo. 
Però mi Sa che nella guida di menny manca un pezzo, o forse non l'ho letta bene io ieri sera, al momento non l'ho davanti. 
Ora menny di sicuro mi gambizza...

Michele Menniti

Semplicemente, quando vuoi far cambiare i fuse al micro devi prima caricare il bootloader e poi, sempre con la procedura ISP, lo sketch che ovviamente sovrascriverà il bootloader, se stai usando le mie board virtuali.
La procedura ISP cambia i fuse SOLO se fai l'operazione del bootloader, se invece la usi direttamente per lo sketch i tempi operano in modo stranissimo.
Pag. 54 della Guida:
Quote
Nota importante: nelle immagini seguenti vedremo anche la configurazione Arduino-ISP-Breadboard minimal, con la quale si potrà effettuare il caricamento di sketch, ma deve essere ben chiaro che il buon fine di questa tecnica presuppone che il chip abbia già i fuses settati per lavorare a 8MHz o 1MHz; ciò significa, in poche parole, che la prima volta che si prepara un chip a lavorare con una di queste frequenze, l'operazione deve essere fatta o con due Arduino o con Arduino ed una breadboard in configurazione completa, cioè con quarzo, condensatori, ecc.; questo vale sia che il chip sia vergine, sia che il chip abbia già un bootloader standard a 16MHz, con o senza uno sketch.
Inoltre, se una qualsiasi operazione su chip a 8MHz/1MHz non va a buon fine è molto probabile che non si riesca più a programmarlo con la breadboard minimal, bisogna quindi ripartire dal caricamento del bootloader con breadboard standard o con Arduino target.
È bene tener conto di queste indicazioni, diversamente si andrà incontro ad una sicura serie di insuccessi!

Non ti gambizzo perché non tocco roba pelosa, specialmente se di natura maschile :smiley-mr-green:
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Testato


La procedura ISP cambia i fuse SOLO se fai l'operazione del bootloader, se invece la usi direttamente per lo sketch i tempi operano in modo stranissimo.

Perche' mettere in campo le "stranezze" ?

io direi semplicemente che per cambiare i fuse si deve passare per il caricamento del bootloader, anche se il bootloader non ti serve, se carichi solo uno sketch in ISP i fuse restano come erano, non e' che si mettono in condizioni "strane"

Il perche' non si riesce a cambiare i fuse tramite caricamento sketch non e' dato sapere, o almeno per ora nessuno alk mondo lo ha spiegato  :)
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Go Up