Accessing the Controllers
3.5 Examples
The C-code extracts shown below represent examples for write or read accesses and IRQ-
settings:
SJA1000:
void canOut
(
int reg,
int value
)
{
outp(ca1,reg);
outp(ca0,value);
}
int canInp
(
int reg
)
{
outp(ca1,reg);
return(inp(ca0));
}
Activate IRQ:
i1 = level;
for (i=0;i<4;i++)
{
stat=i;
if (i1 & 0x01)
{
stat |= 0x80;
}
outp(ca3,stat);
i1=i1>>1;
}
outp(ca3,0x87);
outp(ca3,0x86);
Deactivate IRQ :
(delete selection completely)
outp(ca3,0x07);
outp(ca3,0x06);
for (i=0;i<4;i++)
outp(ca3,i);
CAN-PC104/200
Hardware Manual • Doc. No.: C.2013.21 / Rev. 1.7
Page 17 of 31