|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
請問那里能找到8位的CRC校驗算法 |
| 作者:lIguilin 欄目:單片機 |
我用PIC16F73做了一款無線收發(fā)器,我現在用的是16位的CRC校驗,我只傳輸8個字節(jié),CRC校驗核用去了我的2字節(jié),我想改進,用8位的CRC校驗,請問哪里能找到 |
| 2樓: | >>參與討論 |
| 作者: 幾把刷子 于 2003/11/6 13:52:00 發(fā)布:
crc16 VB Public Function CalCRC(BDF As String) As String Dim GP As LONG, PB As LONG Dim C1 As LONG, C2 As LONG, C3 As LONG, PreC1 As LONG Dim A1 As LONG, i As LONG, j As LONG, K As LONG BDF = BDF & "0000" GP = Val("&H11021&") PB = Val("&H10000&") C1 = Val("&H" & Left(BDF, 5) & "&") K = Len(BDF) - 4 For j = 1 To K A1 = 4 For i = 1 To A1 A1 = A1 - 1 C2 = GP * 2 ^ A1 C3 = PB * 2 ^ A1 PreC1 = C1 If (C1 And C3) > 0 Then C1 = C1 Xor C2 End If Next If j <> K Then C1 = C1 * 16 + Val("&H" & Mid(BDF, j + 5, 1) & "&") End If Next CalCRC = Hex(C1) For j = 1 To 4 - Len(CalCRC) CalCRC = "0" & CalCRC Next * - 本貼最后修改時間:2003-11-6 14:34:31 修改者:幾把刷子 |
|
| 3樓: | >>參與討論 |
| 作者: HotPower 于 2003/11/6 16:12:00 發(fā)布:
漂亮 |
|
| 4樓: | >>參與討論 |
| 作者: HotPower 于 2003/11/6 16:18:00 發(fā)布:
“外賣”PIC的CRC8 ;.......8位右移循環(huán)冗余碼校驗子程序.......... CRCPROC0 CLRF CRCOUT CRCPROC MOVWF VALUE MOVLW .8 MOVWF COUNT CRCPROCLOOP CLRWDT;清除看門狗定時器 MOVF VALUE,W XORWF CRCOUT,W;異或CRC ADDWF DIN,W MOVWF TEMP;暫存 RRF TEMP,W;CY MOVF VALUE,W BTFSS STATUS,C GOTO CRCPROCNEXT MOVLW 18H; XORWF CRCOUT,F CRCPROCNEXT RRF CRCOUT,F BCF STATUS,C BTFSC VALUE,0 BSF STATUS,C RRF VALUE,F DECFSZ COUNT,F GOTO CRCPROCLOOP CRCPROCEXIT RETLW 0 |
|
| 5樓: | >>參與討論 |
| 作者: liguilin 于 2003/11/7 9:31:00 發(fā)布:
謝謝!請問在那找這方面的資料? |
|
| 6樓: | >>參與討論 |
| 作者: hotpower 于 2003/11/7 14:47:00 發(fā)布:
很多...HotPower的有...(在EMC精華區(qū)內) 群魔亂舞的CRC---三角及冗余校驗密碼技術.html(原作) |
|
| 7樓: | >>參與討論 |
| 作者: liguilin 于 2003/11/11 9:59:00 發(fā)布:
THANK YOU HOTPOWER 我還是沒找到8位CRC的資料,請詳細的指點一下.THANK YOU! |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |