Go Down

Topic: ATtiny85 a 16mhz con High Frequency PLL Clock (Read 5 times) previous topic - next topic

leo72

Mettere il Tiny85 a 16 MHz usando solo il suo oscillatore interno  ]:D
Ora ho il blink compilato per 8 MHz che viaggia il doppio  XD

gbm

#11
Sep 28, 2011, 10:57 pm Last Edit: Sep 28, 2011, 10:59 pm by gbm Reason: 1
ce l'hai fatta?  :smiley-mr-green: grande.
Caxxo mi era sfuggito, pensavo servisse il tiny isp
Community robotica / programmazione Arduino
www.gioblu.com

leo72

No, ho usato l'Arduino come programmatore ISP secondo le impostazioni del mio articolo su Gioblu sulla programmazione dei Tiny85.

Adesso faccio una piccola prova, poi vi dico come fare.

gbm

Uhm... nel datasheet dice anche che cosi' un timer perde il suo clock? O qualcosa del genere?
Vedo di farlo pure io e capire se la funzione millis resiste oppure no  :smiley-mr-green: o se il pwm funziona.
Community robotica / programmazione Arduino
www.gioblu.com

leo72

Secondo il datasheet bisogna programmare il fuse CKSEL su $0001 e poi impostare il bit PLLE del registro PLLCSR ad 1. Ma a me va senza quest'ultima impostazione. Boh... comunque basta programmare il fuse basso dell'Attiny con questo comando:

Code: [Select]
./avrdude -P /dev/ttyACM0 -C ./avrdude.conf -U lfuse:w:0xf1:m -p t85 -c stk500v1 -b 19200

che dovete date dalla cartella /arduino-0022/hardware/tools in modo da usare avrdude distribuito con l'IDE, che può vedere l'Arduino come programmatore ISP.

Il fuse basso così settato ($F1) imposta il PLL interno e disattiva il divisore 8x sul clock dell'oscillatore, per cui: 8 MHz * 8 = 64 MHz / 4 (il divisore 1/4 interno) = 16 MHz finali

Se caricate il Blink usando il profilo modificato per un Attiny85@8 MHz vedrete il led lampeggiare al doppio della velocità.

Go Up