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

📄 can591io.lst

📁 can总线通信的以C51庫文件
💻 LST
字号:
C51 COMPILER V7.01  CAN591IO                                                               04/10/2003 14:04:02 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE CAN591IO
OBJECT MODULE PLACED IN Can591io.OBJ
COMPILER INVOKED BY: C:\KEIL_V7\C51\BIN\C51.EXE Can591io.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*
   2           *********************************************************************************************************
             -***********
   3           *描述:    P8XC591CAN硬件接口管理文件
   4           *文件名:   CAN591IO.C
   5           *应用语言: KEIL C51
   6           *版本 :    V1.0
   7           *广州周立功单片机发展有限公司 保留所有的版权
   8           *********************************************************************************************************
             -***********
   9           */
  10          #define         _GLOBAL_CAN591IO_
  11          
  12          /*
  13          **********************************************************************************************************
             -**************
  14          **                           导入头文件
  15          **********************************************************************************************************
             -**************
  16          */
  17          #include        "CAN591_PELI_APP.H"
  18          
  19          /*
  20          **********************************************************************************************************
             -**************
  21          **函数原型:     char   WriteSJARegBlock(unsigned char RegAdr,unsigned char  *ValueBuf,
  22          **                                                                         unsigned char len)
  23          **参数说明:     ValueValueBuf   写入寄存器的值的存储器地址
  24          **                              RegAdr                  要写入591的内部寄存器地址
  25          **                              len                             要写入591内部寄存器的长度
  26          **返回值:       SJA_OK                  写入正确
  27          **                              !SJA_OK        写入不正确
  28          **说明:         该函数用于将指定的数值写入591的指定的寄存器
  29          **********************************************************************************************************
             -**************
  30          */
  31          char   WriteSJARegBlock(unsigned char RegAdr,unsigned char  *ValueBuf,
  32                                                                                     unsigned char len)
  33          {
  34   1              unsigned        char    i;
  35   1          if(len != 0){
  36   2                    if(RegAdr<32)
  37   2                          for(i=0;i<len;i++){
  38   3                             REG_CANADR=RegAdr+i;
  39   3                             REG_CANDAT=*(ValueBuf+i);
  40   3                          }
  41   2                      else 
  42   2                      {
  43   3                          REG_CANADR=RegAdr;
  44   3                          for(i=0;i<len;i++)
  45   3                          {
  46   4                             REG_CANDAT=*(ValueBuf+i);
  47   4                          }
  48   3                      }
  49   2              }
C51 COMPILER V7.01  CAN591IO                                                               04/10/2003 14:04:02 PAGE 2   

  50   1              return 0x00;
  51   1      }
  52          
  53          /*
  54          **********************************************************************************************************
             -**************
  55          **函数原型:     char   ReadSJAReg(unsigned char RegAdr,unsigned char  *ValueBuf,
  56          **                                                                         unsigned char len)
  57          **参数说明:     ValueValueBuf   存储读出寄存器的值的存储器地址
  58          **                              RegAdr                  要读的591的内部寄存器地址
  59          **                              len                             要读出591内部寄存器的长度
  60          **返回值:       SJA_OK                  读出正确
  61          **                              !SJA_OK        读出不正确
  62          **说明:         该函数用于读出591的指定的寄存器
  63          **********************************************************************************************************
             -**************
  64          */
  65          char   ReadSJARegBlock(unsigned char RegAdr,unsigned char  *ValueBuf,
  66                                                                                     unsigned char len)
  67          {
  68   1              unsigned        char    i;
  69   1              if(len != 0){
  70   2                      if(RegAdr<32)
  71   2                      for(i=0;i<len;i++){
  72   3                              REG_CANADR=RegAdr+i;
  73   3                             *(ValueBuf+i)=REG_CANDAT;
  74   3                      }
  75   2                      else
  76   2                      {
  77   3                          REG_CANADR=RegAdr;
  78   3                          for(i=0;i<len;i++)
  79   3                          {
  80   4                             *(ValueBuf+i)=REG_CANDAT;
  81   4                          }
  82   3                      }
  83   2              }
  84   1              return 0x00;
  85   1      }
  86          
  87          /*
  88          **********************************************************************************************************
             -**************
  89          **函数原型:     char   WriteSJAReg(unsigned char RegAdr,unsigned char  Value)
  90          **参数说明:     Value   写入寄存器的值
  91          **                              RegAdr                  要写入591的内部寄存器地址
  92          **返回值:       SJA_OK                  写入正确
  93          **                              !SJA_OK        写入不正确
  94          **说明:         该函数用于将指定的数值写入591的指定的寄存器
  95          **********************************************************************************************************
             -**************
  96          */
  97          char   WriteSJAReg(unsigned char RegAdr,unsigned char  Value)
  98          {
  99   1      
 100   1          REG_CANADR=RegAdr;
 101   1          REG_CANDAT=Value;
 102   1              return 0x00;    
 103   1      }
 104          
 105          
 106          
 107          /*
C51 COMPILER V7.01  CAN591IO                                                               04/10/2003 14:04:02 PAGE 3   

 108          **********************************************************************************************************
             -**************
 109          **函数原型:     unsigned        char   ReadSJAReg(unsigned char RegAdr)
 110          **参数说明:     
 111          **                              RegAdr                  要读的591的内部寄存器地址
 112          **返回值:       reg的值
 113          **说明:         该函数用于读出591的指定的寄存器
 114          **********************************************************************************************************
             -**************
 115          */
 116          unsigned        char   ReadSJAReg(unsigned char RegAdr)
 117          {
 118   1          REG_CANADR=RegAdr;
 119   1              return(REG_CANDAT);
 120   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    170    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      10
   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 + -