-
-
Erfahrener Benutzer
Roboter Experte
Haha,
ja da kannst du noch mehr erzahlen aber es stimmt nicht was der Henk (ich..) geschrieben hat:
im Atmega8 pdf steht:
• Bit 3 – TXEN: Transmitter Enable
Writing this bit to one enables the USART Transmitter. The Transmitter will override normal
port operation for the TxD pin when enabled. The disabling of the Transmitter
(writing TXEN to zero) will not become effective until ongoing and pending transmissions
are completed (i.e., when the Transmit Shift Register (Schieberegister) and Transmit Buffer Register (UDR)
do not contain data to be transmitted). When disabled, the Transmitter will no longer
override the TxD port.
Ubersetztz: wenn die Sender ausgeschaltet wird mittels TXEN dann werden die im UDR und Schieberegister anwesende karakter doch noch gesended und DANACH wird die Sender vom Kontroller richtig ausgeschaltet.
So, nach ausschalten vom Sender und gleichzeitig einschalten vom Empfanger (mittels der software) werden maximal noch drei vom Sender gesendete Karakter wieder zuruck empfangen vom Empfanger.
Mann konnte unterstehende code statt am ende in SerWrite() auch am anfang im SerRead() plazieren.
//warte bis UDR und Schieberegister leer sind
while ( ! ( UCSRA | (1<<TXC) ) );
//reset handmassig den TXC bit durch schreiben einen '1' (ja eine EINS !)
UCSRA |= (1<<TXC);
Gruss nochmal,
Henk
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen