Go Down

Topic: problemi nel programmare ATtiny84 (Read 5511 times) previous topic - next topic

ƎR

Oct 31, 2011, 06:01 pm Last Edit: Dec 10, 2011, 09:17 am by er_like_no_other Reason: 1
oggi mi sono arrivati gli ATtiny84 e adesso stavo provando a programmarli seguendo questa guida: http://www.gioblu.com/tutorials/programmazione/214, qui parlano solo di ATtiny85 ma dovrebbe essere lo stesso no?
come circuito ho collegato il pin 10 dell'arduino al 4 del tiny (reset), il pin 11 al 7 del tiny (mosi), il 12 al 8 (miso), il 13 al 9 (sck), poi ho messo tra reset e vcc un resistenza da 120 ohm e poi l'alimentazione vcc e gnd sul tiny... è giusto no?
poi per il resto ho seguito la guida ma mi da errore quando vado a caricare un programma e non lo carica. cosa può essere? cosa posso aver sbagliato?
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

leo72

Devi mettere una R di pull-up sul pin reset dell'Attiny da 10K. Non è indispensabile per la programmazione ma serve.

Hai messo il core Tiny nell'IDE? Hai selezionato Attiny84 a 1 MHz? I chip Tiny "vergini che escono di fabbrica vanno a 1 MHz.
Che errore ti da l'IDE?

ƎR

cosa intendi con mettere il core Tiny nell'IDE? e si avevo messo a 1MHz...
l'errore che mi da è questo:
Code: [Select]
java.lang.NullPointerException
at processing.app.debug.AvrdudeUploader.getProgrammerCommands(AvrdudeUploader.java:106)
at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:68)
at processing.app.Sketch.upload(Sketch.java:1603)
at processing.app.Sketch.exportApplet(Sketch.java:1568)
at processing.app.Sketch.exportApplet(Sketch.java:1524)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2293)
at java.lang.Thread.run(Thread.java:619)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

ratto93


cosa intendi con mettere il core Tiny nell'IDE? e si avevo messo a 1MHz...
l'errore che mi da è questo:
Code: [Select]
java.lang.NullPointerException
at processing.app.debug.AvrdudeUploader.getProgrammerCommands(AvrdudeUploader.java:106)
at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:68)
at processing.app.Sketch.upload(Sketch.java:1603)
at processing.app.Sketch.exportApplet(Sketch.java:1568)
at processing.app.Sketch.exportApplet(Sketch.java:1524)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2293)
at java.lang.Thread.run(Thread.java:619)

E' lo stesso errore che ho io nel programmare gli 85 col TinyCore piuttosto che con quello di saporetti...
non l'ho ancora risolto...
Se corri veloce come un fulmine, ti schianterai come un tuono.

leo72

Se hai letto la mia guida avrai trovato ad un certo punto il link per scaricare delle librerie da questo sito:
http://code.google.com/p/arduino-tiny/

Quello è il core di cui ti parlavo, senza di esso l'IDE non compila nulla. Ma se hai i nuovi micro nel menu Tools/Board allora lo hai di già.

Ma l'errore te lo dà in compilazione o in upload?

ƎR

l'errore me lo da in upload...
io avevo scaricato da qui http://code.google.com/p/arduino-tiny/downloads/list come suggerito nella guida
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

leo72

#6
Oct 31, 2011, 06:47 pm Last Edit: Oct 31, 2011, 06:50 pm by leo72 Reason: 1
Sì, va bene.
Quindi c'è qualcosa che non va in upload.

EDIT:
Czz... una cosa importante che mi aveva fatto notare qualche giorno fa un altro utente!
Bisogna editare il file boards.txt contenuto nella cartella /tiny e scegliere un programmatore!!!!

Ogni voce del file che contiene .upload.using=..... devi modificarla così:

Code: [Select]
xxxxxxxxx.upload.using=arduino:arduinoisp
Altrimenti è scontato che non riesca a far el'upload! :(
Secondo me è questo!
Ora aggiorno la guida.

ƎR

ok adesso riesce a fare l'upload! :) grazie
ancora 2 domande come sono numerati i pin per metterli nel programma?
e per usarlo a 8 o 16 MHz basta scegliere l'opzione 8 o 16 oppure devo programmarli con l'apposito programmatore?
grazie! :)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

leo72


ok adesso riesce a fare l'upload! :) grazie

Bene!

Quote

ancora 2 domande come sono numerati i pin per metterli nel programma?

Fai riferimento al file che ti ho citato, il pins_arduino.c. Nei commenti trovi la mappatura dei pin analogici e digitali rispetto ai piedini del micro.

Quote

e per usarlo a 8 o 16 MHz basta scegliere l'opzione 8 o 16 oppure devo programmarli con l'apposito programmatore?
grazie! :)

Per mandarlo ad 8 o 16 MHz devi modificare i fuse.
Per gli 8 MHz puoi usare sempre l'oscillatore interno. Nella guida che hai letto c'è come impostare ad 8 MHz il Tiny85 usando l'Arduino come programmatore. Funziona anche con i Tiny84, basta cambiare il tipo di micro da t85 a t84. I fuse sono gli stessi.

Per i 16 MHz serve invece un quarzo esterno e 2 C.

ƎR

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

ƎR

scusa un'ultima domanda... l'ATtiny va a 8bit, quindi cambia qualcosa nel numero massimo che posso dare a una variabile int? o no?
grazie
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

leo72

Quanto pensi sia l'architettura dell'Atmega328?  ;)
Sono sempre 8 bit: rispetto al 328 non cambia nulla.

byte=8 bit/1 byte
int=16 bit/2 byte
long=32 bit/4 byte

ƎR

ah ok ok si è vero sono uguali... non so perchè mi è venuto questo dubbio :)
comunque grazie ancora ;)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

ƎR

perchè se provo il blink a 1MHz dura un secondo giusto, mentre se lo provo a 8MHz dura 8 secondi? mi moltiplica tutto per 8? e se faccio la funzione pulseIn mi cabia anche quella?
grazie
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Michele Menniti


perchè se provo il blink a 1MHz dura un secondo giusto, mentre se lo provo a 8MHz dura 8 secondi? mi moltiplica tutto per 8? e se faccio la funzione pulseIn mi cabia anche quella?
grazie

Nella board virtuale hai scritto 8000000 alla voce clock?
Sei sicuro dei valori dei fuse?
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

Go Up