Kommunikation RPI mittels UART und gleichzeitig Serial PC

Hallo Liebe Community,

ich würde gerne einen Arduino UNO über UART an einen Raspberry anschließen. Zusätzlich würde ich gerne über USB den Arduino am PC anschließen um zu monitoren. Das würde mir die Debugging arbeit enorm erleichtern. Funktioniert das einfach so ohne weiteres? Wie müsste ich die Schnittstellen Konfigurieren?
Kann ich einfach über Interrupts die befehle des RPI lesen, wenn der Arduino als Slave konfiguriert ist?

danke im Vorfeld.

LG Peter

Der UNO hat nur eine UART in Hardware, die von USB belegt ist. Nutze SoftwareSerial für den RPI.

Andere Arduinos wie der Mega2560 haben mehrere Hardware-UARTs.

Aber hat SoftwareSerial nicht das problem, dass alles interrupted wird? Das bringt doch massive performanceprobleme oder? Ausserdem meine ich gelesen zu haben, dass die library absoluter rotz sein soll. Lasse mich gerne vom gegenteil überzeugen und bin für Hilfe Dankbar.

Ich habe nicht viel Erfahrung mit SoftwareSerial, da ich mich bemühe, die für mein Vorhaben passende Hardware zu erwerben. Aus meiner Sicht hast Du mit dem UNO die falsche Hardware gewählt.

Das sehe ich prinzipiell auch so, hätte auch eher einen Mega genommen, ist allerdings Auflage von meinem AG das über den UNO zu machen. Als Praktikant juckt die nicht, dass ich es auch anders lösen könnte.

Dann sollte doch als Entwicklungssystem ein Mega gehen, und wenn das Programm endlich läuft dann auf dem Uno.

Dann mußt Du den "blöden" AG wechseln oder mit den Füßen stampfen, Dir die Haare raufen, fluchen ... :joy:

Bei Serial gibt es erstmal keine "Slave".
Und dass du selber per Interrupt-Routine aktiv werden willst, klingt erstmal nach Anfänger.
(These: attachInterrupt in der IDE gehört raus oder versteckt) Vergiss es.

Klar ist HardwareSerial besser, aber ich sehe in deiner Aufgabenbeschreibung nicht, warum sie nicht lösbar sein sollte. Ein separater USB-UART Baustein für das Monitoring am PC wäre evtl. gut, wenn der Raspbi wirklich HardwareSerial bräuchte.

1 Like

Aha.

Da habe ich keinen Bedarf.....

Denn es ist immer der, der mit den Vorurteilen im Bauch, welcher sich ändern darf, muss, kann oder/und sollte.

Nein:
Als Helfer gegen eine negative Vorspannung "kämpfen" zu wollen, ist so ziemlich das dümmste, was man versuchen kann.
Also ohne mich.

Meinst du es nur, oder hast du es tatsächlich gelesen ?

Ich weiß, wenn man es richtig macht, funktioniert es auch.

Das heißt natürlich auch umgekehrt, dass es Probleme gibt, wenn man es falsch macht.
Oder wenn man Sachen probiert, die nur bei HardwareSerial funktionieren könnten.

Du müsstest aber erstmal konkrete Probleme haben, damit dir jemand drüberhelfen könnte.

Kannst du gerne zu verbessern versuchen, den Code hast du. Wenn du dann soweit bist, dass du verstehst wo die Grenzen sind, siehst du auch warum es sie gibt.

Auch das ist völlig richtig. :wink:

Dann nimmst halt wie schon vorgeschlagen einmal ein SoftSerial in langsam.
Ist im wesentlich nur zwei Zeilen anders, für den restlichen Code oder deine Debug Ausgaben hat das ja fast keine Bedeutung ob du diese auf eine vorhandene HW Serial oder eine MickeyMouse Softserial ausgibst. Wenn man für Disney arbeitet muss man halt manchmal MickeyMouse Wege gehen...

1 Like

Wenn du da eine Praktikums-Stelle hast, ist für deine Arbeitgeber vermutlich nur zweitrangig, wie das Ergebnis aussehen wird. Zur Not kriegt dein Nachfolger die Aufgabe nochmal. (Eventuell hat sie ein Kollege schonmal gelöst).
Interessanter ist, wie du die Aufgabe anpackst:

  • Geht nicht mit Uno, braucht man einen Mega, weil der Uno nur eine Serielle hat
  • Ein Uno hat da nicht die Performance für, wegen interrupts
  • Die Libraries die ich bräuchte, sind absoluter rotz.

Ich wäre froh, dass du Praktikant bist und dich für die andere Entwicklungstruppe (die härteste Konkurrenz ist immer hausintern) empfehlen ("Von dem könnt ihr noch was lernen").

  • Hier, fertig, ich habs allerdings mit 'nem MEGA gemacht, das war einfacher.

Das geht auch

1 Like

Das sehe ich auch so.

Bei solchen "Praktikanten Aufgaben" ist meist nicht wirklich das Ergebnis wichtig.
Herangehensweise, Einstellung und Sorgfalt sind von Interesse.

Eigentlich genau wie hier im Forum!
Da sind diese Tugenden auch hilfreich....
Und sowieso....

Vereinfacht:

Wer will, findet Wege.
Wer nicht will, findet Gründe.

1 Like