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?
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.
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.
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.
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...
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.