C#实现CRC16校验码计算示例
遇到需要进行CRC校验时,经过翻阅大量资料后终于理解了CRC16的计算原理。这里提供了详细注释,使用的不是普通的词典法,而是通过算法计算得出的CRC值。对于CRC16-CCITT,只需按照给定的公式进行替换即可。具体实现原理如下:
1. 首先将16位CRC寄存器CRCFull初始化为全1
2. 对于数据message[i]的每一个字节(8位),与CRCFull进行异或操作,并将结果存入CRCFull中
3. 将CRCFull的最低位作为CRCLSB,然后将CRCFull右移一位(向低位),并用0填补最高位
4. 检查CRCLSB的原最低位:如果为1,则与多项式0xA001进行异或操作;如果为0,则重复上一步
5. 重复上述步骤直到右移8次,处理完整个message[i]字节
6. 继续重复上述步骤,处理下一个字节的8位数据,直到处理完整个message[i]
7. 最终得到的CRC寄存器CRCFull即为该数据的CRC16校验码
                
                            
                            WindowsFormsApplication1.rar
                            预估大小:26个文件
                        
                        
                        
                                
                                WindowsFormsApplication1
                                文件夹
                            
                                                        
                                
                                WindowsFormsApplication1
                                文件夹
                            
                                                        
                                
                                bin
                                文件夹
                            
                                                        
                                
                                Debug
                                文件夹
                            
                                                        
                                
                                WindowsFormsApplication1.pdb
                                28KB
                            
                                                        
                                
                                WindowsFormsApplication1.vshost.exe.manifest
                                490B
                            
                                                        
                                
                                WindowsFormsApplication1.vshost.exe
                                11KB
                            
                                                        
                                
                                WindowsFormsApplication1.exe
                                10KB
                            
                                                        
                                
                                Form1.Designer.cs
                                3KB
                            
                                                        
                                
                                Program.cs
                                505B
                            
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                                                        
                            
                            
                                                        
                                        
                                    文件大小:42.8KB
                                
                                
                                
                            
评论区