Inhaltsverzeichnis
Network Controller/PC Spezifikationen
Für das Projekt "Network Controller/PC" werden hier die ganz konkreten Spezifikationen angelegt. Als "Sprache" wird Pseudo-Code, an C angelehnt, verwendet.
Spezifikationen Layer-0 UART
- Kontrollzeichen
#define CTL_M_MASK 0xF8 #define CTL_M_ADON 0x10 #define CTL_C_BASE 0xA8 #define CTL_C_STX CTL_C_BASE + 1 #define CTL_C_ETX CTL_C_BASE + 2 #define CTL_C_PFX CTL_C_BASE + 3
- Code-Beispiel/Muster für Paket-senden
( transmit() stellt die Funktion für den tatsächlichen physischen Output dar).
static unsigned char bTxBcc; // Checksum für BCC // -------------------------------------------------------------- void TxStartFrame ( void ) { bTxBcc = 0 transmit ( CTL_C_STX ) } // -------------------------------------------------------------- void TxCloseFrame ( void ) { transmit ( bTxBcc ) transmit ( CTL_C_ETX ) } // -------------------------------------------------------------- void TxSendFrameByte ( unsigned char bTxChar) { bTxBcc ^= bTxChar if (bTxChar & CTL_M_MASK) == CTL_C_BASE) { transmit ( CTL_C_PFX ) transmit ( bTxChar | CTL_M_ADON ) } else { transmit ( bTxChar ) } }
- Die entsprechende Empfangsroutine ist etwas komplexer und wird wesentlich mehr vom Geschick und den Gewohnheiten des Programmieres bestimmt.