PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Beim ATMega8 den USART Transmitter ausschalten und PD1 als Eingang verwenden



frank-wob
21.12.2011, 18:22
Hallo,

ich nutze bei einem Mega8 lediglich den Empfänger des USART. Den TXD Pin (PD1) möchte ich als Eingang benutzen.

Ich habe also versucht mit



$baud = 115200
Config Serialin = Buffered , Size = 24
.
.
.
Ucsrb.txen = 0
Config Pind.1 = Input
Portd.1 = 1


den Pin als Eingang zu definieren, funktioniert aber nicht.

Zum lesen der Zeichen in meinen Zeichenbuffer nutze ich inkey()

Kann mir jemand sagen was ich falsch mache? Ist es evtl garnicht möglich (in Bascom) nur einen der Usartpins anderweitig zu nutzen.

Gruß Frank

MagicWSmoke
21.12.2011, 19:48
Kann mir jemand sagen was ich falsch mache?
Nix.

Ist es evtl garnicht möglich (in Bascom) nur einen der Usartpins anderweitig zu nutzen.
Doch, das sollte schon gehen, in der Simulation haut dieser kurze Code ohne weiteres hin.

Es gäbe jetzt die Möglichkeit, dass noch etwas mit PD1 verbunden ist, also eine HW-Geschichte, oder dass sich im Code noch etwas versteckt, das den Transmitter wieder einschaltet.
Kürz' den Code auf's Minimum, so dass der Fehler noch auftritt und stell ihn ein.

Che Guevara
21.12.2011, 23:09
Oder du benutzt eine Software Uart, sofern du keine Interrupts benötigst?!

Gruß
Chris

frank-wob
22.12.2011, 07:50
Ich benutze das ganze um 6 LED Matrix-Module anzusteuern. Dabei sind mehrere Leitungen wie ein Bus miteinander verbunden. Getestet habe ich immer an einem Modul, die anderen waren aber noch per Flachbandkabel mit dem Testmodul verbunden. Jetzt haben alle die neue Firmware und es läuft problemlos.

@MagicWSmoke Danke für den Schubser in die richtige Richtung.

Schönes Weihnachtsfest euch allen