Go Down

Topic: Giocando con l'Attiny85 (Read 48 times) previous topic - next topic

leo72

Nuovo aggiornamento:
ho modificato la NewSoftSerial per poterla usare con l'Attiny85 muahahah ]:D
Ottimo ottimo ottimo

an_je


I fuse sono delle impostazioni di tutti i micro Atmel registrate tramite registri interni che normalmente non possono venir modificati con l'uso di una scheda Arduino per flashare il bootloader o lo sketch.
Per modificarli serve un programmatore vero e proprio e l'uso del software "avrdude", che permette tante cose, tra cui l'erase totale del chip, il caricamento di sketch compilati, e la lettura/programmazione di questi fuse.

Questi fuse controllano tante cose, tra cui ad esempio l'uso dell'oscillatore interno oppure di un quarzo esterno, il watchdog, ecc...




...chiaro quindi, riassumendo: i ATTINY85-20 escono di fabbrica con clock 1 MHz, per poter utilizzare gli 8Mhz occorre modificare il fuse, calcolandolo con il "calcolatore" e scaricandolo con un programmatore e modificare il boards.txt.. esatto?

Grazie anora!

crono

leoooooo mi devi aiutare anche a me a mettere la seriale nel tiny... per ora nn sto capendo niente parlate arabo xD

leo72

Sì, gli AttinyX5 (25/45/85) escono a 1 MHz ma l'oscillatore interno va a 8 MHz: hanno un divisore per 8 attivato.
Per togliere il divisore ed usare la piena frequenza dell'oscillatore va programmato il fuse basso ma serve assolutamente un programmatore esterno. Io ho l'USBtinyISP, uso Linux ed il comando che ho dato per riprogrammare il fuse è questo:
Code: [Select]

avrdude -P /dev/ttyACM0 -U lfuse:w:0xe2:m -p t85 -c usbtiny


dove il parametro "-P" specifica la porta usata (su Windows sarà tipo /com ecc.. non so), "-p" il chip da programmare (t85 sta per Attiny85), "-c" il programmatore e "-U" quale parte di memoria è da gestire:
lfuse:w:0xe2:m dice di programmare il fuse basso ("lfuse" -> "low fuse")
w dice di scrivere (w -> write)
0xe2 è il nuovo valore del fuse (nello specifico, ossia con l'Attiny85, $E2 imposta l'oscillatore interno a 8 MHz senza il divisore per 8. Di fabbrica il fuse basso è impostato a $62, ossia con oscillatore a 8 MHz e divisore attivo).
m la codifica del file da usare (m -> immediate: significa che non legge nessun file di dati e scrive direttamente il valore segnato. Se si programmava la Flash si poteva specificare un file HEX contenente il firmware da scrivere)

gbm

Leo sei un grande, scusate la mancanza di questi due giorni ma siamo stati tiratissimi.
Per chi ha comprato il kit pico85 buon divertimento, ne rimangono 3!! Sono contento che sia risultato interessante per la comunità.


Leo mi spieghi come sei riuscito a far funzionare la seriale ?  :smiley-mr-green:
Community robotica / programmazione Arduino
www.gioblu.com

Go Up