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

📄 text1

📁 lpc932芯片 用于modbus通讯的范例
💻
字号:
          283: unsigned int CRC16(unsigned char xdata *puchMsg,unsigned char usDataLen) 
   284: //unsigned char *puchMsg ;/* 要进行CRC校验的消息 */ 
   285: //unsigned short usDataLen ; /* 消息中字节数 */ 
C:0x0409    A905     MOV      R1,0x05
   286: { 
   287: unsigned char uchCRCHi = 0xFF ; /* 高CRC字节初始化 */ 
C:0x040B    7DFF     MOV      R5,#OCRDH(0xFF)
   288: unsigned char uchCRCLo = 0xFF ; /* 低CRC 字节初始化 */ 
   289: unsigned char uIndex ; /* CRC循环中的索引 */   
C:0x040D    7CFF     MOV      R4,#OCRDH(0xFF)
   290: while (usDataLen--) /* 传输消息缓冲区 */ 
C:0x040F    AB01     MOV      R3,thkonzi(0x01)
C:0x0411    19       DEC      R1
C:0x0412    EB       MOV      A,R3
C:0x0413    601B     JZ       C:0430
   291:         { 
   292:          uIndex = uchCRCHi ^ *puchMsg ; /* 计算CRC */ 
C:0x0415    8F82     MOV      DPL(0x82),R7
C:0x0417    8E83     MOV      DPH(0x83),R6
C:0x0419    E0       MOVX     A,@DPTR
C:0x041A    6D       XRL      A,R5
C:0x041B    FB       MOV      R3,A
   293:          puchMsg++; 
C:0x041C    0F       INC      R7
C:0x041D    BF0001   CJNE     R7,#punjunzi(0x00),C:0421
C:0x0420    0E       INC      R6
   294:          uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex]; 
C:0x0421    EB       MOV      A,R3
C:0x0422    90001B   MOV      DPTR,#auchCRCHi(0x001B)
C:0x0425    93       MOVC     A,@A+DPTR
C:0x0426    6C       XRL      A,R4
C:0x0427    FD       MOV      R5,A
   295:          uchCRCLo = auchCRCLo[uIndex]; 
C:0x0428    EB       MOV      A,R3
C:0x0429    90011B   MOV      DPTR,#auchCRCLo(0x011B)
C:0x042C    93       MOVC     A,@A+DPTR
C:0x042D    FC       MOV      R4,A
   296:         }    
C:0x042E    80DF     SJMP     C:040F
   297: return (uchCRCHi *256 | uchCRCLo); 
C:0x0430    ED       MOV      A,R5
C:0x0431    FE       MOV      R6,A
C:0x0432    AD04     MOV      R5,0x04
C:0x0434    ED       MOV      A,R5
C:0x0435    FF       MOV      R7,A
   298: } 
C:0x0436    22       RET      

⌨️ 快捷键说明

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