7.2
hwcom.c2 en swcom.c2
De C-Control II unit beschikt over twee asynchrone seri le interfaces. Eén ervan is als hardware (hwcom)
al in de microcontroller geïmplementeerd. De tweede interface (swcom) kan door het besturingssysteem
softwarematig via twee interrupt – sensibele ports gekopieerd worden. De toegang tot beide interfaces in
C2 is identiek. De hierna beschreven functies zijn in de modules
hwcom.c2 en swcom.c2 op dezelfde manier gedefinieerd.
7.2.1 Initialisering
function init ()
De functie init initialiseert een seri le interface en deactiveert eventueel concurrerende portfuncties.
7.2.2 Instellen van de overdrachtsnelheid
Voor elk van beide interfaces kan de overdrachtsnelheid ingesteld worden. De hwcom - interface kan
daarbij tot 115.200 Baud werken, swcom maar tot 9.600 Baud.
function setspeed ( int speed )
speed
(SPEED_19200 tot SPEED_115200 alleen voor hwcom)
7.2.3 Instellen van de uitgebreide ontvangstbuffer
Het besturingssysteem implementeert voor beide seri le interfaces standaard elk een ontvangstbuffer
van 64 byte. In applicaties, waarin grotere ontvangstblokken ontvangen moeten worden, dient een
uitgebreide ontvangstbuffer gereserveerd te worden. Anders kan dat leiden tot het verlies van ontvangen
data, die door het programma niet snel genoeg uit de buffer gelezen worden.
function setbuf ( byte buf[ ], intg length )
buf
referentie aan een statische of quasi – statische bytebuffer – variabele
length lengte van de buffer.
7.2.4 Verwerpen van data
Applicaties, die seri le data in framevorm ontvangen, kunnen onder bepaalde omstandigheden
onvolledige frames in de ontvangstbuffer ontvangen. Dan is het noodzakelijk alle bytes in de
ontvangstbuffer te verwerpen, om te synchroniseren op het begin van het volgende frame.
function flush ( )
De functie flush verwijdert alle data uit de ontvangstbuffer.
overdrachtssnelheid
55