• <cite id="uwv89"></cite>
      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        huangpeng
        級別: 論壇先鋒
        精華主題: 0
        發帖數量: 715 個
        工控威望: 1051 點
        下載積分: 3272 分
        在線時間: 225(小時)
        注冊時間: 2009-12-07
        最后登錄: 2022-03-02
        查看huangpeng的 主題 / 回貼
        樓主  發表于: 2013-10-03 23:48
        求CRC 程序  跟算法原理
        shi2999
        不管學什么,興趣是最好的老師,能賺錢是最強勁的動力
        級別: 網絡英雄

        精華主題: 0
        發帖數量: 2680 個
        工控威望: 7394 點
        下載積分: 3002 分
        在線時間: 606(小時)
        注冊時間: 2010-12-26
        最后登錄: 2023-05-29
        查看shi2999的 主題 / 回貼
        1樓  發表于: 2013-10-04 07:04
        循環冗余碼校驗英文名稱為Cyclical Redundancy Check,簡稱CRC。它是利用除法及余數的原理來作錯誤偵測(Error Detecting)的。實際應用時,發送裝置計算出CRC值并隨數據一同發送給接收裝置,接收裝置對收到的數據重新計算CRC并與收到的CRC相比較,若兩個CRC值不同,則說明數據通訊出現錯誤。
        shi2999
        不管學什么,興趣是最好的老師,能賺錢是最強勁的動力
        級別: 網絡英雄

        精華主題: 0
        發帖數量: 2680 個
        工控威望: 7394 點
        下載積分: 3002 分
        在線時間: 606(小時)
        注冊時間: 2010-12-26
        最后登錄: 2023-05-29
        查看shi2999的 主題 / 回貼
        2樓  發表于: 2013-10-04 07:06
        下面為CRC的計算過程:

          1.設置CRC寄存器,并給其賦值FFFF(hex)。

          2.將數據的第一個8-bit字符與16位CRC寄存器的低8位進行異或,并把結果存入CRC寄存器。

          3.CRC寄存器向右移一位,MSB補零,移出并檢查LSB。

          4.如果LSB為0,重復第三步;若LSB為1,CRC寄存器與多項式碼相異或。

          5.重復第3與第4步直到8次移位全部完成。此時一個8-bit數據處理完畢。

          6.重復第2至第5步直到所有數據全部處理完成。

          7.最終CRC寄存器的內容即為CRC值
        shi2999
        不管學什么,興趣是最好的老師,能賺錢是最強勁的動力
        級別: 網絡英雄

        精華主題: 0
        發帖數量: 2680 個
        工控威望: 7394 點
        下載積分: 3002 分
        在線時間: 606(小時)
        注冊時間: 2010-12-26
        最后登錄: 2023-05-29
        查看shi2999的 主題 / 回貼
        3樓  發表于: 2013-10-04 07:10
          1.計算法(以VB為例)

          計算法就是依據CRC校驗碼的產生原理來設計程序。其優點是模塊代碼少,修改靈活,可移植性好。其缺點為計算量大。為了便于理解,這里假定了三位數據,而多項式碼為A001(hex)。

          在窗體上放置一命令按鈕Command1,并添加如下代碼:


          Private Sub Command1_Click()

           Dim CRC() As Byte

           Dim d() As Byte ’待傳輸數據

           ReDim d(2) As Byte

           d(0) = 123

           d(1) = 112

           d(2) = 135

           CRC = CRC16(d) ’調用CRC16計算函數

           ’CRC(0)為高位

           ’CRC(1)為低位

          End Sub

          注意:在數據傳輸時CRC的低位可能在前,而高位在后。


          Function CRC16(data() As Byte) As String

           Dim CRC16Lo As Byte, CRC16Hi As Byte   ’CRC寄存器

           Dim CL As Byte, CH As Byte        ’多項式碼&HA001

           Dim SaveHi As Byte, SaveLo As Byte

           Dim I As Integer

           Dim Flag As Integer

           CRC16Lo = &HFF

           CRC16Hi = &HFF

           CL = &H1

           CH = &HA0

           For I = 0 To Ubound(data)

            CRC16Lo = CRC16Lo Xor data(I) ’每一個數據與CRC寄存器進行異或

            For Flag = 0 To 7

             SaveHi = CRC16Hi

             SaveLo = CRC16Lo

             CRC16Hi = CRC16Hi \ 2      ’高位右移一位

             CRC16Lo = CRC16Lo \ 2      ’低位右移一位

             If ((SaveHi And &H1) = &H1) Then ’如果高位字節最后一位為1

              CRC16Lo = CRC16Lo Or &H80   ’則低位字節右移后前面補1

             End If              ’否則自動補0

             If ((SaveLo And &H1) = &H1) Then ’如果LSB為1,則與多項式碼進行異或

              CRC16Hi = CRC16Hi Xor CH

              CRC16Lo = CRC16Lo Xor CL

             End If

            Next Flag

           Next I

           Dim ReturnData(1) As Byte

           ReturnData(0) = CRC16Hi       ’CRC高位

           ReturnData(1) = CRC16Lo       ’CRC低位

           CRC16 = ReturnData

          End Function

        主站蜘蛛池模板: av一区二区中文字幕| 农村妇女野外一区二区视频| 又爽又黄又无遮挡的视频| 色欲AV无码一区二区人妻| 日韩美少妇大胆一区二区| 国产一区日韩二区三区| 国产人妇三级视频在线观看| 国产乱码精品一区二区上| 九九热在线免费观看视频| 国产午夜亚洲精品福利| 亚洲第一区二区快射影院| 99久久成人亚洲精品观看| 亚洲国产精品日韩在线| 黄页网站在线观看免费视频| 不卡一区二区国产精品| 26uuu另类亚洲欧美日本| www久久只有这里有精品| 午夜射精日本三级| 国产精品疯狂输出jk草莓视频| 亚洲男人天堂2018| 国产亚洲精品一区二区无| 亚洲精品香蕉一区二区| 色综合夜夜嗨亚洲一二区| 亚洲制服无码一区二区三区| 激情综合网激情五月我去也| 激情综合网激情五月我去也| 日本一高清二区视频久二区| 精品国产乱码久久久人妻| 久青草国产综合视频在线| 亚洲av色夜色精品一区| 91中文字幕一区二区| 亚洲性日韩精品一区二区三区| 国产91精品丝袜美腿在线| 国99久9在线 | 免费| 日韩狼人精品在线观看| 国产精品福利自产拍在线观看| 不卡视频在线一区二区三区| 中文字幕日韩精品国产| 精品国产乱码久久久久夜深人妻| 丝袜美腿亚洲综合第一区| 性男女做视频观看网站|