Bei den neuen Tinys und den neuen Megas (tiny1 und mega0) kann man bei den Usarts ja den Loop-Back-Mode einschalten. Dafür verwendet man dann nur noch den TX-Pin. Kann man dann den RX-Pin beliebig anders verwenden? Ich kann das dem DB nicht ganz eindeutig entnehmen. Und ausprobieren kann ich es auch nicht, da ich derzeit keinen hier herumliegen habe.
Randy B. schrieb: > Ich kann das dem DB nicht ganz eindeutig entnehmen. Und ausprobieren > kann ich es auch nicht, da ich derzeit keinen hier herumliegen habe. Dann kauf' dir einen!
c-hater schrieb: > Randy B. schrieb: > >> Ich kann das dem DB nicht ganz eindeutig entnehmen. Und ausprobieren >> kann ich es auch nicht, da ich derzeit keinen hier herumliegen habe. > > Dann kauf' dir einen! Die Antwort passt gar nicht zu Dir! Anscheinend weißt Du es selbst nicht.
Randy B. schrieb: > Anscheinend weißt Du es selbst nicht. Das ist völlig korrekt. Wenn ich aber so ein Teil verwenden wollte, würde ich mir einen kaufen und es dann sehr bald wissen. Also selbst genau so vorgehen, wie ich es dir empfohlen habe.
Hast du mal einen Link zu einem Datenblatt des passenden Chips?
Ich kann hier nur vom ATtiny Series 1 sprechen und da auch gerade nicht direkt etwas zur Frage beisteuern, bloß generell: 1. Nimm ein Demo-Board, da gibt es billige von Atmel, und probier es aus. 2. Wenn es geht, freu dich. Wenn es nicht geht, melde dich wieder, dann müssen wir mal suchen. Gerade im Bereich RxD/TxD splitten gibt es (mindestens) einen nicht dokumentierten Bug (der aber nicht direkt mit dieser Frage etwas zu tun hat, nur zur Vorsicht, dass nicht alles so funktioniert, wie es im Datenblatt steht): 24.3.2.3.2 Disabling the Transmitter A disabling of the transmitter will not become effective until ongoing and pending transmissions are completed; i.e. when the Transmit Shift register and Transmit Buffer register do not contain data to be transmitted. When the transmitter is disabled, it will no longer override the TxDn pin, and the pin direction is set as input automatically by hardware, even if it was configured as output by the user. Disabling the transmitter is insufficient. The TXCIF flag has to be set explicitly in order to re-enable the output. If USART_RXEN is also enabled and disabled, the problem is gone and everything behaves as expected. So apparently this bug would only appear in a USART TX-only system, not in a USART TX+RX system.
Da im 'megaAVR® 0-series'-'Family Data Sheet' "For example, the One-Wire Half-Duplex mode is useful when low pin count applications are desired." steht, ist stark zu vermuten, dass der RxD-Pin frei wird, sonst ergäbe dieser Satz doch keinen Sinn, oder?
PS: Falls wirklich Interesse besteht und die Antwort Zeit hat, könnte ich es bis vielleicht morgen abend an einem ATmega4809 ausprobieren.
Randy B. schrieb: > Ich kann das dem DB nicht ganz eindeutig entnehmen. Ja, bei den neuen gibt es ein extra "megaAVR 0-series Family Data Sheet", d.h. es steht nicht mehr alles im Datenblatt. Darin findet man dann die Information: "One-Wire mode is enabled by setting the Loop-Back Mode Enable (LBME) bit in the USARTn.CTRLA register. This will enable an internal connection between the TXD pin and the USART receiver, making the TXD pin a combined TxD/RxD line. The RXD pin will be disconnected from the USART receiver and may be controlled by a different peripheral."
:
Bearbeitet durch User
Vielen Dank für all die Zitate aus den DB'en: die hatte ich ja alle schon gelesen. Wie auch immer: es fehlt darin das Definitive. Und ja: ich habe 4808 bzw. 4809 zu Hause liegen. Aber bin gerade beruflich unterwegs, deswegen in meinem obigen Post "ich habe gerade keinen hier herumliegen". Deswegen danke für den Hinweis, dass ich es ausprobieren solle ;-)
Das "Definitive"? Also für mich ist dieses "The RXD pin ... may be controlled by a different peripheral." aus Peter D.s Zitat eindeutig; und in den Errata finde ich auch nichts.
S. Landolt schrieb: > Das "Definitive"? > Also für mich ist dieses "The RXD pin ... may be controlled by a > different peripheral." aus Peter D.s Zitat eindeutig; und in den Errata > finde ich auch nichts. In dem DB von 2018, was ich bislang verwendet habe, steht dieser Absatz nicht drin. Jetzt habe ich das DB erneut heruntergeladen mit Stand 2019, da steht es drin! Ok, das halte ich jetzt auch für eindeutig. Jetzt fehlt der Praxistest ...
Hallo, laut meinen Englischkünsten widerspricht sich das in meinen Augen. "One-Wire mode is enabled by setting the Loop-Back Mode Enable (LBME) bit in the USARTn.CTRLA register. This will enable an internal connection between the TXD pin and the USART receiver, making the TXD pin a combined TxD/RxD line. The RXD pin will be disconnected from the USART receiver and may be controlled by a different peripheral." Zuerst wird gesagt das intern TxD und RxD gebrückt wird wenn man OneWire Modus aktiviert. Danach wird gesagt das der RxD Pin getrennt wurde und man ihn anderweitig verwenden kann. Passt nicht zusammen. Denn RxD ist ja intern mit TxD verbunden/gebrückt. Irgendwie nicht eindeutig für mich.
Veit D. schrieb: > Zuerst wird gesagt das intern TxD und RxD gebrückt wird wenn man OneWire > Modus aktiviert. Danach wird gesagt das der RxD Pin getrennt wurde Nein, es wird gesagt, dass TxD (der PIN) mit der Empfangslogik des Prozessors verbunden wird. Dadurch wird RxD (der PIN) frei für andere Aufgaben. Du hast zweimal RxD PIN verstanden wo erst von Empfangslogik und dann vom RxD PIN die Rede ist.
Hallo, Dank deiner Antwort und nochmaligen lesen habe ich es jetzt verstanden. Hatte tatsächlich falsch gelesen. :-(
Hier die "offizielle" Antwort von MicroChip: “if I set the usart in loop-back mode, the manual says, that the RX pin isn't used. The question is: is it possible to use the RX Pin in this case as a gpio oder analog input pin?” Yes, your understanding is correct. When the USART in ATtiny412 is used in Loop back mode by setting LBME bit, the Rxd pin is not used and it is available as GPIO pin.
Randy B. schrieb: > the Rxd pin is not used and it is > available as GPIO pin. Dann stimmt also das "megaAVR 0-series Family Data Sheet".
Peter D. schrieb: > Randy B. schrieb: >> the Rxd pin is not used and it is >> available as GPIO pin. > > Dann stimmt also das "megaAVR 0-series Family Data Sheet". Auch der Praxis-Test ist positiv: Half-Duplex-Protokolle mit LBME und ODME geht sehr schön und man spart Pin und externe Beschaltung.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.