Guten Abend,
ich möchte einen "UART-Servo-Controller" bauen bzw. habe das schon und
mache mich jetzt an die Software. Dazu nutze ich einen AtTiny2313, der
per UART die Servo-Position mitgeteilt bekommt und dann ein einzelnes
Servo entsprechend ansteuern soll.
Soweit so gut, ich setze mich also hin, Servo dreht sich schonmal, und
versuche den Hardware-USART zu nutzen. Jetzt dreht sich das Servo nicht
mehr.
Der Fehler ist auch schnell gefunden: Ich habe PD1 (TXD) als
Servo-Ausgang
genutzt.
Dieser ist leider bei aktivem USART dauerhaft auf HIGH und kann nicht
als digitaler Ausgang verwendet werden.
Das war mir leider vorher nicht bewusst, da war meine Überlegung eher:
Da ich ja eh nur empfangen möchte brauche ich den TXD ja nicht, und wenn
ich doch mal über die Serielle Schnittstelle debuggen möchte kann ich
dann ja einfach den Servo-Pin nutzen um Platz zu sparen.
Jetzt sitze ich hier mit einigen fertigen Platinen für mein
Modellbauprojekt und frage mich ob man das irgendwie per Software lösen
kann.
Habt ihr da eine Idee?
Gibt es vielleicht einen Modus, in dem der USART nur zum empfangen
verwendet wird? Da ich davon nicht im Datenblatt lese, vermute ich
leider eher nein.
Gibt es noch andere Optionen, außer einem Bit-Banging-Uart? Timer1 wird
leider bereits für die Servos benutzt. Außerdem wollte ich ja gerade den
Tiny2313 wegen des USARTs einsetzen.
LG Joel