Ich schreibe Code, um auf einem ATtiny von einem Arduino als ISP programmiert zu laufen. Das ATtiny soll AT-Befehle über eine serielle Verbindung an ein RN42-Bluetooth-Modul senden.Arduino SoftwareSerial Rx/Tx Pin Reihenfolge Fehler?
Da das ATtiny keinen UART hat, verwende ich SoftwareSerial an den Pins 0 und 1. Es erschien logisch, Tx auf den "Data Out"/MISO Pin und Rx auf den "Data In"/MOSI Pin zu setzen. Die Dokumentation besagt, dass dies wie SoftwareSerial mySerial (Rx, Tx) zu deklarieren ist; aber ich fand es funktioniert nur, wenn Sie es wie SoftwareSerial mySerial (Tx, Rx) umgekehrt erklären;
Ich habe einen Screenshot meines Codes und der Pinbelegung gemacht. Ich habe das Gefühl, dass mir etwas fehlt, aber wenn ich es so mache, funktioniert es und das Bluetooth-Modul wechselt in den Befehlsmodus. Ist die Dokumentation falsch herum?
Überprüfen Sie das Diagramm in [diesem Beitrag] (https://stackoverflow.com/a/15552137/17034). Wie Sie sehen können, ist MOSI ein Ausgangspin aus der Sicht des Masters. Eine einfache Erklärung ist, dass die Webseite, die Sie gefunden haben, dokumentiert, dass sie als Sklave benutzt wird. Schwer zu sagen, ob das beabsichtigt ist, verwenden Sie keinen Screenshot, um Ihre Frage zu dokumentieren, wenn Sie auch eine URL angeben können. –
Ja, ich verstehe deinen Standpunkt. Obwohl es bei weiterem Nachdenken wichtig sein sollte, wofür die Pins verwendet werden könnten, ist SoftwareSerial ein bisschen durchgeboxt, so dass sie nur als ein GPIO verwendet werden? –