Hat jemand Erfahrungen mit der Unterbrechung des RX und TX Pins durch Hardware Schalter gemacht?
Für mein Projekt benötige ich I2C, Midi (über serielle Pins), im Idealfall 5 Interrupts und zum Programmieren USB
Geplant wäre ein Arduino Uno WiFi Rev3, wo hier durch den Chipsatz die RX Leitung zu meinem MIDI Gerät unterbrochen werden muss um den Arduino programmieren zu können.
Dies wollte ich durch einen Schalter realisieren, welcher dazwischen geschaltet ist.
Zu meiner Frage: Gibt es dabei dann Signalverluste, wenn der Schalter geschlossen ist? Dh. Signalstörungen auf der MIDI Leitung?
Habe hier nicht wirklich was dazu gefunden und habe noch nie anderweitig als per USB Programme auf Arduinos geladen.
Gibt es da gute einleitende Tutorials zb über ISP?
Ich habe einige Fragezeichen - aber suche mal nach Softwareserial für Dein Midi.
Dann kannst den Rest davon komplett unabhägig betreiben.
Und für Deine Interrupts suche nach PCINT und wie Du die verwendest.
Wobei ich 5 schon heftig finde und nicht vor detailierter Beschreibung daran denke, das die gebraucht werden.
Und: Was suchst Du für Tut's zu ISP?
ich denke dir kann geholfen werden. Vorweg, du meinst sicherlich den Uno WiFi Rev2.
Wenn du dir das Package von MCUdude installierst, dann hast du mindestens Serial1 zusätzlich zur Verfügung. Auch Serial2 wäre noch möglich. Dann kommst du mit Serial welches am USB Port hängt nicht ins Gehege. Das bleibt dann frei für eventuelle Debugausgaben etc.
Der ISP Header ist historisch wegen Shield Kompatibilität. Dient rein zum SPI kontaktieren, hat mit Programmierung nichts zu tun bei diesem Board.
SoftwareSerial könnte tatsächlich ne gute Idee sein, nur weiß ich nicht, ob man die MIDI Library auf SoftwareSerial umstellen kann. Wenn ja, wie?
Die Anzahl der Interrupts hätte ich geplant, für die Anzahl der Multiplexer-ICs, welche ich für mein Projekt benötige. Ich habe hier insgesamt 6x MCP23017 im Einsatz (über I2C) , 3 davon für Ausgänge und 3 als Eingänge mit Tastern. Durch die 5 Interrupts könnte ich die 40 angeschlossenen Taster in 5 bytes - aufgeteilt auf die 3 ICs - einzeln erkennen und müsste dann softwareseitig nur ein byte abfragen.
ja stimmt, ich hatte mehrere Infos gesehen, wie sich der Arduino über einen externen Programmer programmieren lässt über den ISP Header. dies gilt aber wahrscheinlich nur für ältere Arduinos
da heißt es dann wahrscheinlich einfach erstmal ausprobieren @noiasca@my_xy_projekt
die Tutorials sind bezüglich der Programmierung des Arduino gedacht, andere Möglichkeiten als über USB (Um den Schalter zu umgehen, wobei dieser mit Sicherheit die einfachste Lösung ist)
In den Beispielen gibt es einen bench sketch.
Da ist SS auf Pin 2/3 benutzt.
Auf was Du bei der Benutzung achten musst, sind u.a. das Du Deine Timings komplett ohne delay() und den Code ohne blockierende Schleifen bauen musst.
Wenn Du selbst kein passThru brauchst, ist das insgesamt aber machbar.
Ansonsten umsteigen auf ein MEGA 2560 Board. Der hat zusätzlich 3 HardwareSerial.
Wenn Dir die Bauform zu groß ist, gibt es die auch kleiner in diversen Kaufhäusern als "Mega 2560 pro" oder "Mega 2560 embed"