programmare ATmega8A standalone
riassunto tecnica usata
ho montato l'ATmega8A su breadboard e collegato ad arduino uno come qua:
in piu' sull' ATmega8A:
ho aggiunto un cond da 100nF tra gnd e +5
una res da 10k tra reset e +5 (pin1)
led con res da 1k sul pin19 (equivalente del out13 arduino)
poi :
il reset della uno collegato tra: +5 120ohm (rst) 10uF gnd
arduino uno pin 10 al pin 1 (rst) dell' at8a (con res da 10k al +5)
arduino uno pin 11 al pin 17 dell' at8a
arduino uno pin 12 al pin 18 // //
arduino uno pin 13 al pin 19 // //
su boards.txt ho aggiunto:
##############################################################
atmega.name=Atmega8A standalone (w/ Arduino as ISP)
atmega.upload.protocol=stk500
atmega.upload.maximum_size=8192
atmega.upload.speed=19200
atmega.upload.using=arduino:arduinoisp
atmega.bootloader.low_fuses=0xe1
atmega.bootloader.high_fuses=0xd9
atmega.bootloader.path=atmega
atmega.bootloader.file=ATmegaBOOT.hex
atmega.bootloader.unlock_bits=0x3F
atmega.bootloader.lock_bits=0x0F
atmega.build.mcu=atmega8
atmega.build.f_cpu=1000000L
atmega.build.core=arduino
quindi a collegamenti fatti si carica sulla UNO arduinoISP (anche a breadboard collegata)
poi su Tools->Board si seleziona la board virutale che abbiamo appena inserito -> "Atmega8A standalone (w/ Arduino as ISP)"
(si preme il reset della UNO (verificato, non serve))
quindi si invia lo sketch che desideriamo caricare
finito! il nostro ATmega8A e' programmato e senza bootloader si possono scrivere tutti gli 8k disponibili (va a 1MHz ovviamente, come da fuses)