ich experimentiere ja schon länger mit der seriellen Kommunikation bei ATtinys und habe mir nun einen externen Crystal mit 16MHz besorgt, weil der interne Takt ziemlich ungenau ist und der TinyTuner bei mir nichts bewirkt hat... Soweit funktioniert alles wunderbar und taktgenau mit dem Crystal, den ich an PB3 & PB4 mit zwei Kerkos gesetzt habe. Nun möchte ich SoftwareSerial benutzen um einen RFID-Reader auszulesen. Jedoch lässt sich der Example-Sketch nicht kompilieren... Hier der Code mit Fehlermeldung:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(0, 1); // RX, TX
void setup()
{
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
mySerial.println("Hello, world?");
}
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
In file included from SoftwareSerialExample.ino:1:
/Applications/Arduino.app/Contents/Resources/Java/libraries/SoftwareSerial/SoftwareSerial.h:92: error: conflicting return type specified for 'virtual size_t SoftwareSerial::write(uint8_t)'
/Users/***/sketchbook/hardware/tiny/cores/tiny/Print.h:71: error: overriding 'virtual void Print::write(uint8_t)'
Wenn unter Board ein beliebiges Arduino ausgewählt ist funktioniert die Kompilierung, aber nicht bei den Tiny-Cores. Jemand ne Idee warum?
ich nutze den 85' und die Arduino-Tiny Library, sowie einige alternative Libraries, die unter dem Link gelistet sind. Für den 85' nutze ich aber nur die Arduino-Tiny Lirbray (ATtiny85 @ 16MHz, external crystal, 4.3 V BOD). PB3 und PB4 sind, wie gesagt, mit dem Crystal belegt, daher wollte ich die Pins 0/1 für RX/TX nutzen, wobei ich eigentlich nur Daten vom RFID-Reader empfangen will - ob der Tiny eine "echte Schnittstelle" hat kann ich leider nicht sagen... Was sagt dir denn die Fehlermeldung?
ÿ ist gleich 255 oder -1 im integer-Kontext, somit schreibst Du wahrscheinlich Zeichen raus, obwohl gar nichts angekommen ist. Welchen Sketch verwendest Du auf dem Arduino?
Hallo!
Habe in etwa das gleiche Problem: möchte ATtiny 45 bei 5V @16MHz extern dazubringen über SoftwareSerial zu kommunizieren (Senden & Empfangen) und bin auf der Suche auf diesem Thread gestoßen. Meine Fragen:
Was bringt es dir, dass deine Funk. "loop()" leer ist? Was heißt "... es funktioniert nun"? Was macht dein Code Nützliches? (bezüglich:
"EDIT: habe den gleichen Sketch nur ohne Ausgabe in der loop(); auf das Arduino geladen und es funktioniert nun."
)
Welche Kondensatoren hast du an den Quarz angeschlossen? Etwa 22pF?
Ich empfange immer Leer- und Euro-Zeichen. Während Kompilieren und hochladen gab es weder "Warnings" noch "Errors" (in Verbose Log Mode), woran könnte das liegen?
Ich verwende Arduino UNO R3 als Programmierer ("Arduino as ISP") , IDE 1.6.5 sowie die in IDE integrierte ATtiny Einstellungen (ATtiny45, External 16MHz).
Danke im Voraus für jede Hilfe.
PS: Alle anderen Programme (die keine SoftwareSerial benötigen) lassen sich ohne Probleme auf ATTiny 45 heraufladen und laufen lassen.