Je suis en trein de construire une cellule de déclenchement pour mon Nikon D3100 qui sera à base de AtTiny45. Pour le branchement et le test avec l'exemple Blink pas de problème. Seulement quand je test mon code le compilateur me donne des erreurs. Voici le code que je voudrais injecter dans l'AtTiny45.
sketch_jul26a:15: error: stray '' in program
sketch_jul26a.cpp: In function 'void loop()':
sketch_jul26a:15: error: expected )' before 'u2013' sketch_jul26a:23: error: expected )' before 'lightningVal'
Si quelqu'un à une idée du pourquoi et du comment je suis preneur!!! Merci d'avance.
Voici le contenu du fichier boards.txt qui va bien pour les Tiny45. Attention il faut que tu fasses un burn bootloader (qui va générer une erreur mais sans conséquence) pour griller les fuses du Tiny pour la clock que tu veux (1, 8 ou 16 MHz).
jihelbi:
Allez avoues que tu l'as fait exprès pour nous poser une colle !!! J'imagine pas qu'on puisse faire ça par erreur de frappe...
Le seul problème dans ton code c'est que le signe moins n'est pas le signe moins : C'est un caractère graphique (code ASCII 96h).
Il suffit de retaper un vrai moins dans ton test (qui lui a le code ASCII 2Dh) pour que ca compile nickel.
Effectivement, je constate la même chose de mon côté.
C'est volontaire (p'tit sadique va :P), involontaire (faut le vouloir quand même ) ou c'est un probléme due au fait que tu as utilisé la fonction "Copy for forum" de l'ide ?
Désolé j'avais pas vue car je l'avais posté sur un autre forum et quand j'ai fait un copier coller ca me donne cà...
Voici les nouvelle erreurs du compilateur avec la lib de jihelbi.
Taille binaire du croquis : 924 octets (d'un max de 4 096 octets)
java.lang.NullPointerException
at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:88)
at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
at processing.app.Sketch.upload(Sketch.java:1706)
at processing.app.Sketch.exportApplet(Sketch.java:1662)
at processing.app.Sketch.exportApplet(Sketch.java:1634)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
at java.lang.Thread.run(Thread.java:680)
Taille binaire du croquis : 924 octets (d'un max de 4 096 octets)
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
avrdude: stk500_recv(): programmer is not responding
Mais non ce n'est pas une lib. C'est un fichier boards. Cela n'a rien à voir et ne concerne que l'IDE Arduino. Les libs spécifiques aux Tiny sont incluses dans le package Arduino.
As tu téléverser le soft ArduisoISP dans ton Arduino ?
As tu mis un condensateur de 10 uF entre masse et reset avant de téléverser ton programme Tiny ?
As tu bien mis les pins 13, 12, 11 et 10 de l'Arduino sur pin 7, 6, 5 et 1 du Tiny ?
As tu débrancher ce qui dans ton montage gênerait la programmation par ISP ?
Je programme très souvent des Tiny sans aucun souci, donc il n'y a pas de raison.
Pour ton caractère "-" graphique tu n'as qu'à utiliser un PC comme tout le monde. Laisse donc les Macs aux artistes si ca leur plait de trouver cela mieux cela s'explique par le fait qu'ils fonctionnent sur un registre subjectif et affectif très différent de celui de l'ingénieur... LOL...
Et Attention......... Tu mélange tout.... Je disais cela pour ton caractère "-" à la base du post.
Pour ton erreur de programmation cela n'a rien à voir. Perds pas ton temps à des essais inutiles. Si tu peux téléverser via le bootloader de l'Arduino tu peux forcément téléverser via programmateur. Cherche le problème ailleurs. Je t'ai donné des pistes dans mon post.
jihelbi:
Mais non ce n'est pas une lib. C'est un fichier boards. Cela n'a rien à voir et ne concerne que l'IDE Arduino. Les libs spécifiques aux Tiny sont incluses dans le package Arduino.
Le fichier boards.txt seul ne suffit pas !
Le core arduino n'est conçu que pour les :
ATmega8
ATmega168
ATmega328
ATmega1280
ATmega2560
Certain autres ATmega sont compatible, mais pas les ATtiny ...
Je ne sait pas comment tu fait pour compiler "en arduino" sur un ATtiny SANS core arduino optimisé pour la série ATtiny4x/8x !
Pour l'erreur, aprés un rapide coup d'oeil sur la page de man de avrdude il semblerai que ça ne soit pas une erreur empêchant la programmation.
Je sait pas pourquoi ça te le fait à toi en particulier mais normalement le programme doit être dans ton ATtiny même avec l'erreur.
Le plus simple et de tester avec un blink et voir si ça clignote
jihelbi:
Pour ton caractère "-" graphique tu n'as qu'à utiliser un PC comme tout le monde. Laisse donc les Macs aux artistes si ca leur plait de trouver cela mieux cela s'explique par le fait qu'ils fonctionnent sur un registre subjectif et affectif très différent de celui de l'ingénieur... LOL...
Oula, quel beau troll bien poilu ...
Tu sait même sous windows/linux rien ne t'interdit d'insérer un caractére unicode U+02D7
Voila ce qui indique (dans les fichiers boards.txt de l'utilisateur) à l'IDE Arduino de compiler pour un Tiny. Rien d'autre à faire que de choisir la bonne board.
Voici à nouveau mon lien sur ce qui va bien pour les chips ATtiny et ATmega autre que le 328P et qui permettent aussi de faire du FULL FLASH ou de charger l'Optiboot et aussi et surtout de positionner les fusibles du Tiny pour varier sa clock.
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
avrdude: stk500_recv(): programmer is not responding
Si les deux premières lignes sont effectivement des messages sans conséquence, la troisième ligne indique clairement que la communication avec le programmateur ne fonctionne pas.
Je réitère mes conseils :
As tu téléverseé le soft ArduisoISP dans ton Arduino ?
As tu mis un condensateur de 10 uF entre masse et reset avant de téléverser ton programme Tiny ?
Choisir comme type de carte "Arduino Uno" (je crois que c'est ta carte).
Téléverser normalement (pas téléverser avec un programmateur) le programme exemple "Arduino as ISP".
Placer un condensateur de 10uf entre GND et RESET de l'Arduino.
Connecter les pins 13, 12, 11 et 10 de l'Arduino Uno aux pins 7, 6, 5 et 1 de l'ATtiny.
Choisir comme programmateur "Arduino as ISP".
Charger ton programme pour le Tiny.
Choisir comme type de carte une des ATtiny45 que tu vois apparaître depuis que tu as mes fichiers.
Dans le menu fichier choisir "Téléverser avec un programmateur".
Pendant la programmation tu dois voir la led TX de l'Arduino clignoter très vite (presque fixe) puis la la led RX faire de même (c'est la phase de relecture).
A la fin tu n'as plus que les deux premières lignes d'erreur et ton Tiny est programmé.
Attention le choix d'une carte à 1, 8 ou 16 MHz ne jouent que sur la compilation (adaptation des fonctions liées aux timers). Pour que le Tiny changent exffectivement de fréquence il faut faire "Graver la séquence d'initialisation". Cela génère une erreur mais fonctionne car la programmation des fuses est effectuée en tout premier.