7
Standaardmodule
Dit programma geeft een overzicht van alle bibliotheekmodules voor de toegang tot de systeemresources
van de C-Control II unit. Gespecificeerd zijn dat de modules:
Bestand
Inhoud
can.c2
CAN – bus
constant.c2
algemene constanten
e
hwcom.c2
1
seri le interface (hardware – interface)
2
i2c.c2
I
C – bus
lcd.c2
Mini – LCD van de unit
lpt.c2
Printerinterface via digitale ports van de unit
math.c2
Zwevende komma – aritmetica
mem.c2
Bytebuffer – operaties
plm.c2
Impulsbreedte –modulaties voor D/A -omvorming en uitvoer van het geluid
ports.c2
Digitale ports en analoge ports (A/D)
str.c2
String – manipulatie
e
swcom.c2
2
seri le interface (software – interface)
system.c2
Timer, systeemklok, interrupt – omleiding
twb.c2
Tweedraads bus
vmcodes.c2
Codeconstanten van de virtuele machine
7.1 can.c2
7.1.1
Initialisering
Function init ( int speed, int globalMask, int specialMask )
Voor de data – overdracht op de CAN – bus moet het systeem ge nitialiseerd worden. De eerste
parameter van de init - functie is bedoeld voor het vastleggen van de overdrachtsnelheid.
De volgende snelheidswaarden worden ondersteund:
Speed
Overdrachtsnelheid
SPEED_50 (0)
SPEED_62 (1)
SPEED_125 (2)
SPEED_250 (3)
SPEED_500 (4)
Als u een ongeldige waarde voor speed invoert, wordt de overdrachtsnelheid op 125 kbits/s vastgezet.
Voor de ontvangstfiltering van binnenkomende CAN – berichten moeten twee maskerwaarden,
globalMask en specialMask, gespecificeerd worden. globalMask geldt voor alle 15 kanalen, voor het 15
kanaal (channel 14) geldt bovendien het specialMask, dat door de microcontroller intern aan de
globalMask UND- gekoppeld wordt. Het ontvangstmasker bepaalt, welke bits van de message – ID van
een inkomend bericht met de ontvangst – ID van een CAN – kanaal vergeleken moeten worden, om te
beslissen of een binnenkomend bericht voor dit kanaal bestemd en te ontvangen is. Een 0 – bit betekent
"don't care" (maakt niet uit), een 1-bit betekent "compare" (moet vergeleken worden).
Voorbeeld, geldig voor alle kanalen 0 ... 13:
GlobalMask
0x0000
Ontvangst –ID
maakt niet uit
Message – ID
maakt niet uit
Ontvangst ja/nee
ja
Als specialMask niet gelijk is aan globalMask, dan worden, vanwege de UND – koppeling, voor kanaal 14
minder bits vergeleken dan bij de kanalen 0 ... 13. Kanaal 14 is dus klaar voor ontvangst van meer
binnenkomende berichten. Men zou b.v. globalMask op 0x07FF kunnen zetten (= alle 11 ID-Bits) en
50 kbit/s
62,5 kbit/s
125 kbit/s
250 kbit/s
500 kbit/s
0x07FF 0x7F
0x0120
0x120 0x120
0x0120
0x121 0x121
ja
nee
0x7FE
Ja
e
52