#include "c:\miniide\hcs12.inc" org $2000 open_can1 bset CAN1CTL1,CANE ; enable CAN1 (required after reset) bset CAN1CTL0,INITRQ ; request to enter initialization mode w1 brclr CAN1CTL1,INITAK,w1; make sure initialization mode is entered movb #$84,CAN1CTL1 ; enable CAN1,select oscillator as clock source ; enable wake up filter movb #$41,CAN1BTR0 ; set jump width to 2 Tq, prescaler set to 2 movb #$18,CAN1BTR1 ; set phase_seg2 to 2 Tq, phase_seg1 to 2 Tq, set ; prop_seg to 7 Tq movb #$54,CAN1IDAR0 ; acceptance identifier 'T' movb #$3C,CAN1IDAR1 ; acceptance identifier '1' movb #$40,CAN1IDAR2 ; " movb #$00,CAN1IDAR3 ; " movb #$00,CAN1IDMR0 ; acceptance filer for extended identifier "T1" movb #$00,CAN1IDMR1 ; " movb #$3F,CAN1IDMR2 ; " movb #$FF,CAN1IDMR3 ; " movb #$50,CAN1IDAR4 ; acceptance identifier 'P' movb #$3C,CAN1IDAR5 ; acceptance identifier '1' movb #$40,CAN1IDAR6 ; " movb #$00,CAN1IDAR7 ; " movb #$00,CAN1IDMR4 ; acceptance filer for extended identifier "P1" movb #$00,CAN1IDMR5 ; " movb #$3F,CAN1IDMR6 ; " movb #$FF,CAN1IDMR7 ; " clr CAN1IDAC ; set two 32-bit filter mode bclr CAN1CTL0,INITRQ ; leave initialization mode movb #$24,CAN1CTL0 ; stop MSCAN clock on wait mode, enable wakeup rts end