User manual

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
hwcom.c2 1
e
seriële interface (hardware – interface)
i2c.c2 I
2
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
swcom.c2 2
e
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) 50 kbit/s
SPEED_62 (1) 62,5 kbit/s
SPEED_125 (2) 125 kbit/s
SPEED_250 (3) 250 kbit/s
SPEED_500 (4) 500 kbit/s
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
e
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 0x07FF 0x7F 0x7FE
Ontvangst –ID maakt niet uit 0x0120 0x120 0x120
Message – ID maakt niet uit 0x0120 0x121 0x121
Ontvangst ja/nee ja 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