usbtiny et atmega168

Salut,

J'essaye d'uploader un programme sur mon atmega168 en utilisant un usbtiny v2.0. Je parviens à compiler Blink.pde en Blink.hex (avec un makefile plus ou moins équivalent à celui donné dans la doc: (voir ci dessous...)
Puis je l'upload avec:
$sudo avrdude -c usbtiny -p m168 -U flash:w:Blink.hex
(je suis sous ubuntu 10.04)
Jusque là tout va bien, la diode clignote effectivement, mais les durées ne sont pas respectées oO. C'est à dire un delay(1000) ça me donne environ 15secondes, un delay(100) 1 seconde.
Je pense qu'il y a un probleme à la compilation. J'ai vu aussi qu'il etait possible de récupérer le .hex généré par l'IDE arduino dans le sous dossier applet du projet mais celui ci n'apparait pas quand je lance "Verify/Compile".

Merci, à+

Pour générer un .hex avec l'IDE Arduino, il faut faire un upload sur la carte avec le microcontroleur dessus, sinon le fichier n'est pas généré.

Ok merci, en changeant d'atmega168 mon makefile a marché (grmph lol, j'ai cherché un moment).
à+

Moi j'upload le programme abec l'USBTiny directement depuis l'IDE Arduino, il faut modifier le fichier «boards.txt» qui est dans «arduino-00xx/hardware/arduino/» et rajouter sa :

##############################################################
ATMega168USBtinyISP.name=Arduino w/Atmega168 via USBtinyISP
ATMega168USBtinyISP.upload.protocol=stk500
ATMega168USBtinyISP.upload.maximum_size=14336
ATMega168USBtinyISP.upload.speed=19200
ATMega168USBtinyISP.upload.using=usbtinyisp
ATMega168USBtinyISP.bootloader.low_fuses=0xff
ATMega168USBtinyISP.bootloader.high_fuses=0xdd
ATMega168USBtinyISP.bootloader.extended_fuses=0x00
ATMega168USBtinyISP.bootloader.path=atmega168
ATMega168USBtinyISP.bootloader.file=ATmegaBOOT_168_ng.hex
ATMega168USBtinyISP.bootloader.unlock_bits=0x3F
ATMega168USBtinyISP.bootloader.lock_bits=0x0F
ATMega168USBtinyISP.build.mcu=atmega168
ATMega168USBtinyISP.build.f_cpu=16000000L
ATMega168USBtinyISP.build.core=arduino

##############################################################
ATMega328USBtinyISP.name=Arduino w/Atmega328 via USBtinyISP
ATMega328USBtinyISP.upload.protocol=stk500
ATMega328USBtinyISP.upload.maximum_size=30720
ATMega328USBtinyISP.upload.speed=115200
ATMega328USBtinyISP.upload.using=usbtinyisp
ATMega328USBtinyISP.bootloader.low_fuses=0xff
ATMega328USBtinyISP.bootloader.high_fuses=0xdA
ATMega328USBtinyISP.bootloader.extended_fuses=0x05
ATMega328USBtinyISP.bootloader.path=atmega168
ATMega328USBtinyISP.bootloader.file=ATmegaBOOT_168_atmega328.hex
ATMega328USBtinyISP.bootloader.unlock_bits=0x3F
ATMega328USBtinyISP.bootloader.lock_bits=0x0F
ATMega328USBtinyISP.build.mcu=atmega328p
ATMega328USBtinyISP.build.f_cpu=16000000L
ATMega328USBtinyISP.build.core=arduino

##############################################################
sanguinoUSBtinyISP.name=Sanguino w/Atmega644 via USBtinyISP
sanguinoUSBtinyISP.upload.protocol=stk500
sanguinoUSBtinyISP.upload.maximum_size=63488
sanguinoUSBtinyISP.upload.speed=576000
sanguinoUSBtinyISP.upload.using=usbtinyisp
sanguinoUSBtinyISP.bootloader.low_fuses=0xFF
sanguinoUSBtinyISP.bootloader.high_fuses=0xDC
sanguinoUSBtinyISP.bootloader.extended_fuses=0xFD
sanguinoUSBtinyISP.bootloader.path=atmega644p
sanguinoUSBtinyISP.bootloader.file=ATmegaBOOT_644P.hex
sanguinoUSBtinyISP.bootloader.unlock_bits=0x3F
sanguinoUSBtinyISP.bootloader.lock_bits=0x0F
sanguinoUSBtinyISP.build.mcu=atmega644p
sanguinoUSBtinyISP.build.f_cpu=16000000L
sanguinoUSBtinyISP.build.core=arduino

Après dans l'IDE tu vas dans Tools -> Board, tu choisi celle qui t'intéresse et normalement sa marche très bien :wink:

Pour générer un .hex avec l'IDE Arduino, il faut faire un upload sur la carte avec le microcontroleur dessus, sinon le fichier n'est pas généré.

C'est faux. Sur ma ubuntu, le .hex est compilé dans un répertoire temporaire qui existe tant que l'IDE arduino reste ouvert. C'est dans un répertoire nomé /tmp/buildXXXXXXXXXXXXX.tmp

Ca fait la même chose sous windows mais je ne sais plus où exactement.

Sur Mac avec Arduino 012 c'était la seule façon de générer un .hex... donc c'est pas faux.... ::slight_smile:

En vérifiant cela ce soir, je m'aperçois qu'avec la version Arduino 018 fr, je n'ai plus de dossier "applet" qui se crée et donc je n'arrive pas à avoir un .hex :-? ,même en provisoire.

J'ai cherché un moment... ::slight_smile: Avec Os 10.5.8 et Arduino 018, mes fichiers .hex sont générés dans un dossier invisible (private).
Le path est :

/private/var/folders/zR/zR0uNMegHWeCB0hSVQNn8U+++TI/-Tmp-/build3332056179002497193.tmp/MonSketch.cpp.hex

Et effectivement je n'ai pas besoin de l'uploader sur la carte pour le générer, simplement de faire un compil avec le bouton gauche de l'IDE.

Avec Arduino 012, le fichier .hex se trouvait dans le dossier applet dans le sketch-folder... c'était beaucoup plus pratique.