⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io.lst

📁 CAN总线调试通过的程序
💻 LST
字号:
C51 COMPILER V3.96,  SN-83203013  IO                                                       05/29/07  12:36:48  PAGE 1   


DOS C51 COMPILER V3.96, COMPILATION OF MODULE IO
OBJECT MODULE PLACED IN D:\CC\IO.OBJ
COMPILER INVOKED BY: C:\LIUBO\51\BIN\C51.EXE D:\CC\IO.C DB SB OE

stmt level    source

   1          /*
   2           *********************************************************************************************************
             -***********
   3           *描述:    独立的CAN 控制器SJA1000与硬件接口管理文件
   4           *文件名:   SJA1000IO.C
   5           *应用语言: KEIL C51
   6           *版本 :    V1.01
   7           *广州周立功单片机发展有限公司 保留所有的版权
   8           *********************************************************************************************************
             -***********
   9           */
  10          #define		_GLOBAL_SJA1000IO_
  11          
  12          /*
  13          **********************************************************************************************************
             -**************
  14          **                           导入头文件
  15          **********************************************************************************************************
             -**************
  16          */
  17          #include	"PELI.H"
*** WARNING 317 IN LINE 87 OF OS.H: macro 'ByteRate_20k': invalid redefinition
*** WARNING 317 IN LINE 88 OF OS.H: macro 'ByteRate_40k': invalid redefinition
*** WARNING 317 IN LINE 89 OF OS.H: macro 'ByteRate_50k': invalid redefinition
*** WARNING 317 IN LINE 90 OF OS.H: macro 'ByteRate_80k': invalid redefinition
*** WARNING 317 IN LINE 91 OF OS.H: macro 'ByteRate_100k': invalid redefinition
*** WARNING 317 IN LINE 92 OF OS.H: macro 'ByteRate_125k': invalid redefinition
*** WARNING 317 IN LINE 93 OF OS.H: macro 'ByteRate_200k': invalid redefinition
*** WARNING 317 IN LINE 94 OF OS.H: macro 'ByteRate_250k': invalid redefinition
*** WARNING 317 IN LINE 95 OF OS.H: macro 'ByteRate_400k': invalid redefinition
*** WARNING 317 IN LINE 96 OF OS.H: macro 'ByteRate_500k': invalid redefinition
*** WARNING 317 IN LINE 97 OF OS.H: macro 'ByteRate_666k': invalid redefinition
*** WARNING 317 IN LINE 98 OF OS.H: macro 'ByteRate_800k': invalid redefinition
*** WARNING 317 IN LINE 99 OF OS.H: macro 'ByteRate_1000k': invalid redefinition
  18          
  19          
  20          /*
  21          **********************************************************************************************************
             -**************
  22          **函数原型:     char   WriteSJARegBlock(unsigned char RegAdr,unsigned char  *ValueBuf,
  23          **									   unsigned char len)
  24          **参数说明:     ValueValueBuf  	写入寄存器的值的存储器地址
  25          **				RegAdr 			要写入sja1000的内部寄存器地址
  26          **				len				要写入sja1000内部寄存器的长度
  27          **返回值:       SJA_OK    		写入正确
  28          **				!SJA_OK        写入不正确
  29          **说明:         该函数用于将指定的数值写入sja1000的指定的寄存器
  30          **********************************************************************************************************
             -**************
  31          */
  32          char   WriteSJARegBlock(unsigned char RegAdr,unsigned char  *ValueBuf, unsigned char len)
  33          
  34          {
  35   1      	unsigned	char	i;
  36   1          if(len != 0){
C51 COMPILER V3.96,  SN-83203013  IO                                                       05/29/07  12:36:48  PAGE 2   

  37   2      		for(i=0;i<len;i++){
  38   3      		//	WriteRawIO(RegAdr+i,ValueBuf+i);
  39   3      			*(SJA_CS_Point + RegAdr+i) = *(ValueBuf+i);
  40   3      		}
  41   2      	}
  42   1      	return 0x00;
  43   1      }
  44          
  45          /*
  46          **********************************************************************************************************
             -**************
  47          **函数原型:     char   ReadSJAReg(unsigned char RegAdr,unsigned char  *ValueBuf,
  48          **									   unsigned char len)
  49          **参数说明:     ValueValueBuf  	存储读出寄存器的值的存储器地址
  50          **				RegAdr 			要读的sja1000的内部寄存器地址
  51          **				len				要读出sja1000内部寄存器的长度
  52          **返回值:       SJA_OK    		读出正确
  53          **				!SJA_OK        读出不正确
  54          **说明:         该函数用于读出sja1000的指定的寄存器
  55          **********************************************************************************************************
             -**************
  56          */
  57          char   ReadSJARegBlock(unsigned char RegAdr,unsigned char  *ValueBuf,
  58          									   unsigned char len)
  59          {
  60   1      	unsigned	char	i;
  61   1      	if(len != 0){
  62   2      		for(i=0;i<len;i++){
  63   3      			*(ValueBuf+i)=*(SJA_CS_Point + RegAdr+i);
  64   3      		}
  65   2      	}
  66   1      	return 0x00;
  67   1      }
  68          
  69          /*
  70          **********************************************************************************************************
             -**************
  71          **函数原型:     char   WriteSJAReg(unsigned char RegAdr,unsigned char  Value)
  72          **参数说明:     Value  	写入寄存器的值
  73          **				RegAdr 			要写入sja1000的内部寄存器地址
  74          **返回值:       SJA_OK    		写入正确
  75          **				!SJA_OK        写入不正确
  76          **说明:         该函数用于将指定的数值写入sja1000的指定的寄存器
  77          **********************************************************************************************************
             -**************
  78          */
  79          char   WriteSJAReg(unsigned char RegAdr,unsigned char  Value)
  80          {
  81   1              unsigned char k;
  82   1              k =  ReadSJAReg(RegAdr);
  83   1      	*(SJA_CS_Point + RegAdr) = Value;
  84   1              k =  ReadSJAReg(RegAdr);
  85   1      	return 0x00;
  86   1      }
  87          
  88          
  89          
  90          /*
  91          **********************************************************************************************************
             -**************
  92          **函数原型:     unsigned	char   ReadSJAReg(unsigned char RegAdr)
  93          **参数说明:
C51 COMPILER V3.96,  SN-83203013  IO                                                       05/29/07  12:36:48  PAGE 3   

  94          **				RegAdr 			要读的sja1000的内部寄存器地址
  95          **返回值:       reg的值
  96          **说明:         该函数用于读出sja1000的指定的寄存器
  97          **********************************************************************************************************
             -**************
  98          */
  99          unsigned	char   ReadSJAReg(unsigned char RegAdr)
 100          {
 101   1      
 102   1      	return(*(SJA_CS_Point + RegAdr));
 103   1      }
C51 COMPILER V3.96,  SN-83203013  IO                                                       05/29/07  12:36:48  PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P_SJAFrameStruct . . . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
SJA_CS_Point . . . . . . . . . . . . .  EXTERN   DATA   PTR      -----  2
_ReadSJARegBlock . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  RegAdr . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  ValueBuf . . . . . . . . . . . . . .  AUTO     DATA   PTR      0001H  3
  len. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0004H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
SJAFrameStruct . . . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  13
  DataLength . . . . . . . . . . . . .  MEMBER   -----  FIELD    0000H  4.0
  ResverBit1 . . . . . . . . . . . . .  MEMBER   DATA   FIELD    0000H  1.4
  ResverBit2 . . . . . . . . . . . . .  MEMBER   DATA   FIELD    0000H  1.5
  FrameType. . . . . . . . . . . . . .  MEMBER   DATA   FIELD    0000H  1.6
  RTRFlag. . . . . . . . . . . . . . .  MEMBER   DATA   FIELD    0000H  1.7
  FrameID. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0001H  4
  Databuf. . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0005H  8
_WriteSJARegBlock. . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  RegAdr . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  ValueBuf . . . . . . . . . . . . . .  AUTO     DATA   PTR      0001H  3
  len. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0004H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
_ReadSJAReg. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  RegAdr . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
_WriteSJAReg . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  RegAdr . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  Value. . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  k. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0002H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    177    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      14
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  13 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -