Seit geraumer Zeit versuche ich erfolglos, einen Attiny 45 mittel Arduino UNO als Programmer zu programmieren. Ich habe jetzt so ziemlich alle entsprechenden Tutorials probiert und auch alle verünftigen Arduino Versionen (0.22, 1.0, 1.0.1, 1.0.2). Ich schaffe es nicht. Es blinkt eben nicht. Die Fehlermeldung lautet:
In file included from D:\My Documents\Arduino\arduino-1.0.2\hardware\arduino\cores\arduino/Arduino.h:193,
from Blink.ino:10:* D:\My Documents\Arduino\arduino-1.0.2\hardware\arduino\cores\arduino/HardwareSerial.h:125:2: error: #error TXC0 not definable in HardwareSerial.h
Wer kann mir bitte weiterhelfen?
Als Alternative steht noch ein AVRISP mkII Programmer zur Verfügung. Auf einem Weg muss es klappen!
ArduStemmi:
Einen TinyCore habe ich auch runtergeladen und in die Ordnerstruktur eingebunden unter hardware/arduino/core.
laut der von Dir verlinkten Anleitung muss der Ordner mit den Core-Files aber in Deinen User-Arduino Ordner in einen Unterordner "hardware".
Bei MacOS ist der User-Ordner "/User/USERNAME/Documents/Arduino/"
Bei Windows wohl das beschriebene "Dokumente/Arduino/Sketchbook/", bzw bei mir auf dem Windows XP Laptop ist es die "My Documents" Verknüpfung und da der Arduino-Ordner. Dort muss der ordner "hardware" rin, in welches die Core-Zip entpackt wird.
Den Arduino-ISP Sketch hast Du auch auf Deinem UNO drauf?
Ich habe die Arduini IDE neu installiert, die angegebe Datei in den ...\Arduino\hardware\ Pfad gestellt, kein Erfolg. Die Fehlermeldung lautet:
In file included from d:\my documents\Arduino\arduino-1.0.2\hardware\arduino\cores\arduino/Arduino.h:193,
from Blink.ino:10:
d:\my documents\Arduino\arduino-1.0.2\hardware\arduino\cores\arduino/HardwareSerial.h:125:2: error: #error TXC0 not definable in HardwareSerial.h
Also ich habe auf einem Windows Laptop kein problem das zu compilieren.
Was habe ich gemacht?
1.) meine Arduino Umgebung liegt unter "D:\tmp\arduino-1.0-windows\arduino-1.0"
2.) meine persönlichen Arduino-Projekte (also da wo die IDE DEINE Sketche speichert) ist "C:\My Documents\Arduino"
3.) In MEINEM Arduino Verzeichnis, NICHT dem IDE Install-Verzeichnis, habe ich einen Ordner "hardware" angelegt ( "C:\My Documents\Arduino\hardware")
4.) Das von Dir verlinkte Cores-Zip. habe ich entpackt und das enthaltene attiny-Verzeichnis nach "C:\My Documents\Arduino\hardware" kopiert -> ("C:\My Documents\Arduino\hardware\attiny")
5.) In der IDE habe ich unter "Tools -> Board " habe ich dann "ATTINY45 (internal 1MHz clock)" audgewählt.
6.) einfach den "Blinkdingsi" Sketch compiliert, ohne Fehler.
Wichtig ist, das Du das Ganze Core-Krams in das richtige Verzeichnis packst. Also nicht das IDE-Verzeichnis, sondern das User-Verzeichnis. Versuche einfach mal einen Sketch mit "Speichern unter ..." zu speichern, dann siehst Du welches Verzeichnis das ist.
Versuche es nochmal neu mit dieser Anleitung http://hlt.media.mit.edu/?p=1695 und mache jeden beschriebenen Schritt so wie es dort erklärt ist.
Dann sollte es funktionieren.
Ich bin nochmals zurück auf Los und habe in einem weit entfernten Verzeichnis Arduino 0.22 installiert. Dann habe ich, wie gefordert, ein neues Verzeichnis namens Hardware angelegt. Dort hinein habe ich die Files aus attiny45_85 gespielt, und siehe da, es funktioniert, sprich, es blinkt.
Ob ich es noch mit Arduino 1.0.X versuche, weiß ich noch nicht.
Also die hlt cores funktionieren einwandfrei man muss die Files in den standart sketch ordner in den Subordner Hardware stecken. Damit funktioniert alles! Habe schon mehrere 84/44/45/25 programmiert. Die 1.0.2 funktioniert nicht mit den http://hlt.media.mit.edu/?p=1695 cores. Der Fehler sieht aus als ob das richtige Board nicht ausgewählt wurde.
Gruß
Der Dani
mellis:
Sorry, there was a change in 1.0.2 that is incompatible with processors that don't have hardware serial support (like the ATtiny). This will be fixed in 1.0.3. See: Issues with Arduino 1.0.2 · Issue #8 · damellis/attiny · GitHub. For now, you can use 1.0.1 or change:
#error TXC0 not definable in HardwareSerial.h
to:
#warning TXC0 not definable in HardwareSerial.h
in HardwareSerial.h.
Also gibts wohl bald eine neue Version...
[edit] Hab gerade diesen Workaround getestet. Das Ändern von #error zu #warning klappt, jetzt lassen sich auch in der 1.0.2 die Attiny-Controller programmieren.
Mit der seit heute erhältlichen Arduino-IDE 1.0.3 ist der Fehler behoben, nun können ohne weitere Änderungen wieder die netten Attiny programmiert werden. Habs gerade getestet und für gut befunden.
Eine Dateisuche im Arduino-Verzeichnis sollte nicht so schwer sein. Bist du auf die IDE 1.0.2 angewiesen? Die neue Version 1.0.3 hat diesen Bug nicht mehr.