Hallo,
ich habe eine Frage. Ich bitte zu berücksichtigen, daß ich nicht von der Hardware-Seite komme, auf diesem Gebiet bin ich Laie. Meine Stärke ist Software.
Ich habe einen Arduino Uno und ein GPS-Shield. So habe ich das Shield eingestellt:
Das ist das Shield und genauso habe ich die Jumper gesetzt.
Dies hier ist mein Programm:
#include <SoftwareSerial.h>
static const int RXPin = 3, TXPin = 2;
// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
void setup()
{
Serial.begin(9600);
pinMode(RXPin, INPUT);
pinMode(TXPin, OUTPUT);
ss.begin(4800);
}
void loop()
{
// Output raw GPS data to the serial monitor
while (ss.available() > 0){
Serial.write(ss.read());
}
}
Nichts passiert, im Monitor sehe ich keine Daten (ich habe 20 Minuten gewartet). Auf dem Shield leuchtet die PWR-Led und die daneben liegende Led blinkt ca. 2mal die Sekunde.
Was mache ich da falsch?
Schönen Gruß
AugustQ
OK, Problem gelöst:
man vertausche die Variablen RXPin und TXPin und die Sache läuft.
Na gut. Mein Fehler.
Schönen Gruß
AugustQ
AugustQ:
OK, Problem gelöst:
man vertausche die Variablen RXPin und TXPin und die Sache läuft.
Na gut. Mein Fehler.
Naja....kann mal passieren.
Grundsätzlich gehört RX auf TX des Partners und umgekehrt.
Wenn du darauf achtest, klappt es zukünftig.
Hi
RX (Receive, Empfangen) <-> TX (Transmit, Senden)
Damit wird's logischer, warum man hier 'tauscht'.
Da, wo ICH sende, muß mein Gegenüber Empfangen - und umgekehrt.
Deshalb ist eine 'normale' serielle Verbindung auch nicht Bus-fähig, also Da können immer nur Zwei miteinander 'schwätzen', wenn Mehr mitspielen, verstehen die Einzelnen sich nicht mehr gegenseitig.
MfG
Hi,
vor ewigen Zeiten habe ich mal eine V24-Schnittstelle programmiert. Von daher kannte ich das mit RX <-> TX.
Und bei dieser Frage habe ich nicht daran gedacht, aber urplötzlich kam es dann wieder .....
Schönen Gruß
AugustQ
PS: ich habe habe eine weitere Frage - das gibt aber ein neues Posting