Hallo zusammen,
folgende Ausgangssituation:
Ich habe ein C# Programm geschrieben, dass über den Serialport und ein
XBee-Explorer-Board einen Befehl an ein Arduino Uno+XBee-Shield sendet.
Dieses sendet dann dementsprechend die Werte der 6 ADCs. Das
funktioniert auch reibungslos.
Nun habe ich den Code des Unos genoimmen und 1 zu 1 auf den MEGA
überspielt. Das XBEE-Shield inkl. Sensoren habe ich 1 zu 1 am MEGA
angeschlossen. Die Pin-Belegung ist auch die selbe. Funktionieren tut es
allerdings nicht. Die LED, die den Empfang von Daten signalisiert
leuchtet auf, aber die Sende-LED nicht. Warum?!?! Die Logik ist die
selbe und die Pins, die der Mega für das XBee-Shield verwendet sind die
gleichen wie beim Uno (SoftwareSerial Pin 2 & 3).
Habt ihr Tipps?
Hier der Programmcode des Uno:
Ich habe ebenfalls getestet, ob das XBee-Shield des Unos oder des Mega
falsch eingestellt ist, aber das ist kein problem. Den Code des Megas
kann ich auf den Uno packen und es funktioniert. Ebenfalls kann ich die
XBee-Shields beliebig tauschen und es funktioniert weiterhin auf dem
Uno. Also warum funktioniert es nicht auf dem Mega?
Vll noch die XBee-Infos, auch wenn ich mir da sicher bin:
USB-Exploer am PC (eingestellt als Broadcast)
MY: BABA
SH: 13A200
SL: 40E823C4
DH: 0
DL: FFFF
XBee Device 1 am Uno:
MY: BABA
SH: 13A200
SL: 40E82352
DH: 3A200
DL: 40E823C4
XBee Device 2 am Mega:
MY: BABA
SH: 13A200
SL: 40E82337
DH: 3A200
DL: 40E823C4
Lieben gruß,
Steffen
Nachtrag:
Habe auf dem Mega folgendes getestet:
Jegliche XBee Funktionen in Serial-Funktionen gewandelt (Im Grund
überall wo "XBee" stand durch "Serial" ersetzt.
Nun kommen die Daten im C# Programm auch einwandfrei an. Ich kann COM9
auswählen (XBee-USB-Explorer) und kann Daten vom Uno empfangen und am
COM10 wie sonst üblich per Kabel die Daten vom Mega.
Ich sehe da nur eine Stelle, die Probleme macht:
Die XBee-Ansteueruzng via SoftwareSerial am Mega. Ist da etwas zu
beachten?
Gruß,
Steffen
Fünfig geworden.
"Note:
Not all pins on the Mega and Mega 2560 support change interrupts,
so only the following can be used for RX:
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69"