ich war hier: ReadStatus
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-NummerBit-BezeichnungErklä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:

/* Das Beispielprogramm initialisiert den USART- Baustein 8251. Anschließend wird das Zeichen cgesendet und auf den Eingang eines Zeichens gewartet. Befindet sich ein Zeichen im Empfangspuffer, so wird es ausgelesen und am Bildschirm dargestellt. */

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");
Diese Seite wurde noch nicht kommentiert.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki