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

📄 crc8.lst

📁 KEIL C编译 到位监控程序
💻 LST
字号:
C51 COMPILER V7.20   CRC8                                                                  06/05/2008 13:05:35 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE CRC8
OBJECT MODULE PLACED IN CRC8.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CRC8.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <REG52.H>               
   2          #define uchar unsigned char
   3          
   4          #define CMC      0x8c                                                     //crc8_multinomial_code
   5          #define LENGTH  24                            //LENGTH = 24
   6          extern uchar CMDIN[LENGTH];                   //Command in length=24 数据(命令) 接收 缓冲区
   7          
   8          //extern uchar crc8(uchar *ptr, uchar len);   //crc8校验
   9          //uchar crc_test_data[7]={0x28,0x6d,0x00,0x85,0x00,0x00,0x00}; //if:test_data OK! result=0xCF;
  10          /**********************************************************************
  11          ** 函数名称:    crc8()
  12          ** 功能描述:    数组的CRC校验
  13          ** 输 入:      *ptr:数组首地址   
  14                          len :数组的长度   
  15          ** 输 出:              crc校验结果
  16          ** 全局变量:    CMC:crc多项因子
  17          ** 调用模块:    无
  18          ***********************************************************************/ 
  19          uchar crc8(uchar *ptr, uchar len)   // crc8_multinomial=x(8)+x(5)+x(4)+1; 00110001->10001100=0x8c
  20          { 
  21   1        uchar i; 
  22   1        uchar crc=0;
  23   1        while(len--!=0) 
  24   1        { 
  25   2          for(i=0x01;i!=0;i <<= 1) 
  26   2             { 
  27   3              if((crc&0x01) != 0) {crc >>= 1; crc ^= CMC;} 
  28   3              else crc >>= 1; 
  29   3              if((*ptr&i) != 0) crc ^= CMC; 
  30   3             } 
  31   2          ptr++; 
  32   2        } 
  33   1        return(crc); 
  34   1      } 
  35          
  36          /**********************************************************************
  37          ** 函数名称:    crc8_test()
  38          ** 功能描述:    数组的CRC校验是否通过测试
  39          ** 输 入:      *ptr:数组首地址   
  40                          len :数组的长度   
  41          ** 输 出:              crc校验通过结果 (0=通过)
  42          ** 全局变量:    无
  43          ** 调用模块:    crc8
  44          ***********************************************************************/ 
  45          bit crc8_test(uchar *ptr, uchar len)   
  46          { 
  47   1        uchar Result_crc8; 
  48   1        Result_crc8=crc8(ptr,(len-1));                 //Result_crc8==0,crc8 pass 
  49   1        if(Result_crc8==0) return 0; //0,crc8 pass
  50   1        else     return 1;
  51   1      } 
  52          
  53          
  54          
  55          
C51 COMPILER V7.20   CRC8                                                                  06/05/2008 13:05:35 PAGE 2   

  56          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     67    ----
   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 + -