7.11.5 Zomertijdflag
De functie
function dst ( ) returns int
geeft de informatie weer, of het bij de actuele systeemdatum gaat om een datum in de zomertijd –
periode: 0 komt overeen met de normale tijd (wintertijd), -1 betekent zomertijd.
7.11.6 Oproepen van systeemfuncties
Vanuit het C2 – programma kunnen willekeurige functies van het besturingssysteem of van gebruiker –
gedefinieerde Assembler-/C-routines opgeroepen worden. Daartoe bevindt zich in de module system.c2
de functie
function call ( int segment, int offset )
Via het oproepen van de functie
function jump (int segment, int offset )
kunt u de virtuele machine van de C-Control II unit en daarmee ook de bewerking van een C2 –
programma verlaten en naar een willekeurige routine in de totale adresruimte van de C164Cl springen.
Voorwaarde bij het oproepen van call en jump is, dat u steeds het adres (segment, offset) van de functie
kent. De adressen van uw eigen Assembler-/C-routines kunt u vinden in de uitgaven van uw Assembler-
/C-ontwikkelingstools. Een voorbeeld van de toepassing van call vindt u op de Utility – CD.
7.11.7 Gebruiker – gedefinieerde interrupt- routines
Voor een onmiddellijke reactie op de gebeurtenissen
* 1 ms – timercyclus van het systeem,
* High-Low-flanken op de digitale ports P1H.0 ... P1H.3,
kunnen interrupt – routines in Assembler of C-Control geschreven en in het segment 3 van de FLASH-
EEEEPROM opgeslagen worden. Lees daarvoor het hoofdstuk 8 "systeemprogrammering". Het activeren
van de gebruiker –gedefinieerde interrupt –routines gebeurt door het oproepen van de functie hook.
function hook ( int event, int segment, int offset,
De functie hook koppelt een gebruiker –gedefinieerde interrupt –routine aan de normale interrupt –
behandeling van het systeem. De parameter event geeft aan, voor welke interrupt – bron een interrupt –
routine geactiveerd moet worden:
Event
Interrupt - bron
EVENT_TIMER (0)
EVENT_P1H0 (1)
EVENT_ P1H1 (2)
EVENT_ P1H2 (3)
EVENT_ P1H3 (4)
De parameters segment en offset geven het geheugenadres van de interrupt -routine in de totale
adresruimte van de microcontroller aan. Het geheugenadres kunt u vinden in de uitgaven van uw
Assembler-/C-ontwikkelingstools. Lees daartoe de documentatie van deze tools.
Als u een C-functie als interrupt –routine wilt schrijven, moet deze in de stijl
void fx ( void )
gedefinieerd zijn, dus zonder parameters en returnwaarde.
Als een interrupt –routine aan de normale interrupt –behandeling van het systeem wordt gekoppeld, zijn
er voor de bewerking bij het optreden van de interrupt drie mogelijkheden.
int mode )
1 ms timer
Digital port P1H.0
Digital port P1H.1
Digital port P1H.2
Digital port P1H.3
67