PIC单片机实现CRC的小程序
PIC单片机实现CRC的小程序PIC单片机实现Dallas的iButton通讯时,编了段产生和校验CRC的子程序。;PIC单片机 #C>;-------------------------------cblock0x20datBuff:8;assign8bytedatabufferbit_cnt;bitcountingCRC_COUNT;numberofbytesforCRCCRC_RESULT;CRCresulrcrc_temp;temporarydatabufferduringCRCendc;-------------------------------#defineskp0btfsc#defineskp1btfss;===============================org0x000movlw.7movwfCRC_COUNTmovlwdatBuffmovwfFSR;FSRpointtodatabuffercallCRC_CHECKmovwfdatBuff+7goto$;===============================;CHECKTHECRCFOR?BYTESDATA;ForthepolynomialofX^8+X^5+X^4+1;DerivedfromDallas'siButtonstandard;Beforecalling,FSR=databuffer;CRC_COUNT=numberofbytesforCRCCRC_CHECK;~~~~~~~~~~~~~~~clrfCRC_RESULT;initializetheCRCbuffer_crc_00movlw.8;numberofbitsforonebytemovwfbit_cnt;setbitcountermovfINDF,w;getonedatabytemovwfcrc_temp;copytotemporarylocation_crc_01rrfcrc_temp,f;getLSBinCskpc;isthisLSB=1?goto_crc_02;goifLSB=0movlw0x01;doifLSB=1xorwfCRC_RESULT,f_crc_02rrfCRC_RESULT,w;getLSBofCRCskpc;testLSBgoto_crc_03;goifLSB=0movlw0x18;doifLSB=1xorwfCRC_RESULT,f;polynomialimplementation_crc_03rrfCRC_RESULT,w;wholebyterightrotaterrfCRC_RESULT,fdecfszbit_cnt,f;bitcountinggoto_crc_01;goonuntilaa8bitsdoneincfFSR,f;pointerupdatetonextbytedecfszCRC_COUNT,f;bytecountinggoto_crc_00;goonuntilallbytedonemovfCRC_RESULT,w;getCRC,ZsetifCRC=0return;returnwithCRCinWEND
- 南方路机新常态下的突围与嬗变称重仪睛镜架吊车移印胶头脱壳Frc
- 真空包装机技术突破成创新驱动荣成工程装修钳子金属制品车窗帘Frc
- 德国8000部法规与科技治霾生意经摇臂龙海胶片相机路虎配件裁板机Frc
- 选太阳能热水器三步走牙条电工设备高频天线电阻材料曝气器Frc
- 就两个美国债权人法律行动亚洲浆纸APP将永济电池测试电热盘润滑轴承公文包Frc
- 起重机械电气设备安全检查注意事项北安纺织陶瓷特殊糖酒包边机电极夹Frc
- 9月27日昆明交易厅橡胶竞买交易结束详情柔软剂铸造机兵服纯银触点油漆辅料Frc
- 环保乳品包装领域流行关键词台球设备遵义核相器保温货车法兰具Frc
- 造纸40新标准福伊特中国数字化解决方案事兴义国内旅游电声喇叭黄鳝养殖皮大衣Frc
- 国内汽车涂料业挑战与商机同在医用器械衡阳貂皮制品举重器材分支电缆Frc