Version [75295]
Dies ist eine alte Version von ReadStatus erstellt von FabianEndres am 2017-01-01 21:16:40.
ReadStatus
Syntax:
int ReadStatus(unsigned char* pvalue);
Beschreibung:
Die Funktion liest das Statusregister des USART-Bausteins 8251 aus. Das
Statusregister ist wie folgt aufgebaut:
Bit-Nummer | Bit-Bezeichnung | Erklärung |
---|
0 | TxRDY | signalisiert Bereitschaft zur (Sende-) Datenübernahme |
1 | RxRDY | zeigt das Ende des Empfangsvorgangs an |
2 | TxEMPTY | zeigt das Ende des Sendevorgangs an |
3 | PE | Parity Error |
4 | OE | Overrun Error |
5 | FE | Framing Error |
6 | BD | signalisiert die Erkennung eines “BREAK” Zeichens |
7 | DSR | Zustand der Handshake-Leitung DSR |
Parameter:
pvalue | Pointer auf unsigned char Variable, in der das gelesene Byte abgelegt werden soll |
Rückgabewert:
Rückgabe | Bedeutung |
0 | OK |
1 | Fehler |
Beispiel:
unsigned char value=0;
if( ! "OpenPLXDevice()) { Init8251(9600,0,8); // warten bis 8251 bereit zur Datenübernahme ist do{ ReadStatus(&value); }while(!(value&0x01)); Zeichen c senden TransmitByte('c'); warten bis der Sendevorgang beendet ist do{ ReadStatus(&value); }while(!(value&0x04)); printf("Byte gesendet!\n"); warten bis ein Byte empfangen wurde do{ ReadStatus(&value); }while(!(value&0x02)); // empfangenes Byte auslesen und anzeigen ReceiveByte(&value); printf("empfangener Wert: %x\n",value); ClosePLXDevice();""
}
else
printf("Fehler");