📄 sja1000.lst
字号:
C51 COMPILER V8.09 SJA1000 03/13/2008 06:00:58 PAGE 1
C51 COMPILER V8.09, COMPILATION OF MODULE SJA1000
OBJECT MODULE PLACED IN SJA1000.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE SJA1000.c ROM(COMPACT) BROWSE INCDIR(E:\Keil\C51\INC) DEBUG OBJECTEXTEND
line level source
1 #include <REGX52.h>
2 #include <absacc.h>
3
4 #include "xkcan_defs.h"
5 #include "sja1000.h"
6
7 void SJAReset(void)
8 {
9 1 SJA1000_CS = 1;
10 1 SJA1000_RST = 0;
11 1 SJA1000_RST = 1;
12 1 }
13
14 void wbyte(ubyte addr, ubyte dat)
15 {
16 1 ubyte addr_t;
17 1 addr_t = P2 & (~(1<<SJA1000_CS_SHIFT));
18 1
19 1 // The correct form of wbyte
20 1 // XBYTE[addr|(addr_t<<8)] = dat;
21 1
22 1 // This is the wrong form
23 1 XBYTE[addr|(addr_t<<8)] = ((dat&0x80)>>1 | (dat&0x40)<<1 | (dat&0x3f));
24 1
25 1
26 1 P2 = addr_t | (1<<SJA1000_CS_SHIFT);
27 1 }
28
29 ubyte rbyte(ubyte addr)
30 {
31 1 ubyte dat;
32 1 ubyte addr_t;
33 1 addr_t = P2 & (~(1<<SJA1000_CS_SHIFT));
34 1 dat = XBYTE[addr|(addr_t<<8)];
35 1 P2 = addr_t | (1<<SJA1000_CS_SHIFT);
36 1
37 1 // The correct form of wbyte
38 1 // return dat;
39 1
40 1 // This is the wrong form
41 1 return ((dat&0x80)>>1 | (dat&0x40)<<1 | (dat&0x3f));
42 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 90 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -