📄 exercise1.lst
字号:
********************************************************************/ C:\CAN202A\can18xx8.c
00005c cfd9 MOVFF 0xfd9,0xfe6 void CANInitialize(BYTE SJW, C:\CAN202A\can18xx8.c
00005e ffe6
000060 cfe1 MOVFF 0xfe1,0xfd9
000062 ffd9
000064 0e02 MOVLW 0x2
000066 26e1 ADDWF 0xe1,0x1,0x0
BYTE BRP, C:\CAN202A\can18xx8.c
BYTE PHSEG1, C:\CAN202A\can18xx8.c
BYTE PHSEG2, C:\CAN202A\can18xx8.c
BYTE PROPSEG, C:\CAN202A\can18xx8.c
enum CAN_CONFIG_FLAGS config) C:\CAN202A\can18xx8.c
{ C:\CAN202A\can18xx8.c
BYTE FilterConfig1; C:\CAN202A\can18xx8.c
BYTE FilterConfig2; C:\CAN202A\can18xx8.c
C:\CAN202A\can18xx8.c
// In order to setup necessary config parameters of CAN module, C:\CAN202A\can18xx8.c
// it must be in CONFIG mode. C:\CAN202A\can18xx8.c
000068 0e80 MOVLW 0x80 CANSetOperationMode(CAN_OP_MODE_CONFIG); C:\CAN202A\can18xx8.c
00006a 6ee6 MOVWF 0xe6,0x0
00006c d8ad RCALL 0x1c8
00006e 52e5 MOVF 0xe5,0x1,0x0
C:\CAN202A\can18xx8.c
// Now set the baud rate. C:\CAN202A\can18xx8.c
00008e 0efe MOVLW 0xfe CANSetBaudRate(SJW, C:\CAN202A\can18xx8.c
000090 cfdb MOVFF 0xfdb,0xfe6
000092 ffe6
000088 0efd MOVLW 0xfd BRP, C:\CAN202A\can18xx8.c
00008a cfdb MOVFF 0xfdb,0xfe6
00008c ffe6
000082 0efc MOVLW 0xfc PHSEG1, C:\CAN202A\can18xx8.c
000084 cfdb MOVFF 0xfdb,0xfe6
000086 ffe6
00007c 0efb MOVLW 0xfb PHSEG2, C:\CAN202A\can18xx8.c
00007e cfdb MOVFF 0xfdb,0xfe6
000080 ffe6
000076 0efa MOVLW 0xfa PROPSEG, C:\CAN202A\can18xx8.c
000078 cfdb MOVFF 0xfdb,0xfe6
00007a ffe6
000070 0ef9 MOVLW 0xf9 config); C:\CAN202A\can18xx8.c
000072 cfdb MOVFF 0xfdb,0xfe6
000074 ffe6
000094 d8ac RCALL 0x1ee
000096 6ef5 MOVWF 0xf5,0x0
000098 0e06 MOVLW 0x6
00009a 5ee1 SUBWF 0xe1,0x1,0x0
00009c 50f5 MOVF 0xf5,0x0,0x0
C:\CAN202A\can18xx8.c
00009e 0ef9 MOVLW 0xf9 RXB0CON = config & CAN_CONFIG_MSG_BITS; C:\CAN202A\can18xx8.c
0000a0 50db MOVF 0xdb,0x0,0x0
0000a2 0b60 ANDLW 0x60
0000a4 6e60 MOVWF 0x60,0x0
0000a6 0ef9 MOVLW 0xf9 if ( (config & CAN_CONFIG_DBL_BUFFER_BIT) C:\CAN202A\can18xx8.c
0000a8 50db MOVF 0xdb,0x0,0x0
0000aa 0b10 ANDLW 0x10
0000ac 08ff SUBLW 0xff == CAN_CONFIG_DBL_BUFFER_ON ) C:\CAN202A\can18xx8.c
0000ae e101 BNZ 0xb2
0000b0 8460 BSF 0x60,0x2,0x0 RXB0CON_RX0DBEN = 1; C:\CAN202A\can18xx8.c
C:\CAN202A\can18xx8.c
C:\CAN202A\can18xx8.c
0000b2 cf60 MOVFF 0xf60,0xf50 RXB1CON = RXB0CON; C:\CAN202A\can18xx8.c
0000b4 ff50
C:\CAN202A\can18xx8.c
// Set default filter and mask registers for all receive buffers. C:\CAN202A\can18xx8.c
0000b6 0ef7 MOVLW 0xf7 CANSetMask(CAN_MASK_B1, 0, CAN_CONFIG_XTD_MSG); C:\CAN202A\can18xx8.c
0000b8 6ee6 MOVWF 0xe6,0x0
0000ba 6ae6 CLRF 0xe6,0x0
0000bc 6ae6 CLRF 0xe6,0x0
0000be 6ae6 CLRF 0xe6,0x0
0000c0 6ae6 CLRF 0xe6,0x0
0000c2 6ae6 CLRF 0xe6,0x0
0000c4 da82 RCALL 0x5ca
0000c6 6ef5 MOVWF 0xf5,0x0
0000c8 0e06 MOVLW 0x6
0000ca 5ee1 SUBWF 0xe1,0x1,0x0
0000cc 50f5 MOVF 0xf5,0x0,0x0
0000ce 0ef7 MOVLW 0xf7 CANSetMask(CAN_MASK_B2, 0, CAN_CONFIG_XTD_MSG); C:\CAN202A\can18xx8.c
0000d0 6ee6 MOVWF 0xe6,0x0
0000d2 6ae6 CLRF 0xe6,0x0
0000d4 6ae6 CLRF 0xe6,0x0
0000d6 6ae6 CLRF 0xe6,0x0
0000d8 6ae6 CLRF 0xe6,0x0
0000da 0e01 MOVLW 0x1
0000dc 6ee6 MOVWF 0xe6,0x0
0000de da75 RCALL 0x5ca
0000e0 6ef5 MOVWF 0xf5,0x0
0000e2 0e06 MOVLW 0x6
0000e4 5ee1 SUBWF 0xe1,0x1,0x0
0000e6 50f5 MOVF 0xf5,0x0,0x0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -