7457|0

33

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

[VB]CRC计算小程序  [复制链接]

上传一个用VB编的CRC码生成程序;

源码如下:

'CRC校验码生成
Private Function CrcResult(ByVal Data As Long, ByVal Genpoly As Long, ByVal CrcData As Long) As Long
Dim n As Integer
Data = Data * 2
For n = 8 To 1 Step -1
    Data = Fix(Data / 2)
    If ((Data Xor CrcData) And 1) Then
        CrcData = Fix(CrcData / 2) Xor Genpoly
    Else
        CrcData = Fix(CrcData / 2)
    End If
Next n
CrcResult = CrcData
End Function


Private Sub Command1_Click()
Dim BL As Byte                              '数据长度
Dim n As Byte                               '循环量
Dim Cmd As String                           '字符串
Dim crc As Long                             'CRC寄存器
Dim fx() As Byte                            '发送的数据
Cmd = Text1.Text
BL = Len(Cmd) / 2
ReDim fx(BL + 1)                         '按命令长度重新定义数组
crc = &HFFFF&                               'CRC初值
For n = 0 To BL - 1
    fx(n) = CLng("&H" & Mid(Cmd, 2 * n + 1, 2)) '分解命令为字节
    crc = CrcResult(fx(n), &HA001&, crc)     'CRC校验码生成调用
Next
fx(BL) = CByte(crc And &HFF&)                '得到的校验高位
fx(BL + 1) = CByte(Fix(crc / 256) And &HFF&) '得到的校验低位

    Text2.Text = Hex(fx(BL))                  '显示crc
    Text3.Text = Hex(fx(BL + 1))
End Sub

 

5435.rar

4.23 KB, 下载次数: 48

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表