亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? 51單片機C語言常用模塊與綜合系統設計實例精講
?? C
字號:
#include <stdio.h>
#include <absacc.h>
#include <intrins.h>
#include <./Atmel/at89x52.h>
#include "source.h"
extern uint  bit_crc(uchar *ptr, uchar len);
extern uint  byte_crc(uchar *ptr, uchar len);
extern uint halfbyte_crc(unsigned char* pData, uint nLength);
CRCREGS regs;
/* 8字節測試數據 */
uchar testdata[8]={0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88};
/* 主程序 */
void main()
{
	uchar len;
	uint crc_bit;
	uint crc_byte;
	uint crc_halfbyte;

	len = 8;
	crc_bit = bit_crc(testdata,len);			// 調用按位求CRC子函數
	crc_byte = byte_crc(testdata,len);			// 調用按字節查表求CRC子函數
	crc_halfbyte = halfbyte_crc(testdata,len);	// 調用按半字節查表求CRC子函數
	
	while(1);	
}

uint  byte_crc(uchar *ptr, uchar len) 
{
	uint crc;
	uchar da;

	/* CRC 余式表 */ 
	uint xdata crc_ta[256]=
	{								
		0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
		0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
		0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
		0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
		0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
		0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
		0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
		0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
		0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
		0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
		0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
		0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
		0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
		0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
		0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
		0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
		0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
		0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
		0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
		0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
		0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
		0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
		0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
		0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
		0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
		0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
		0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
		0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
		0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
		0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
		0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
		0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
	};
	crc = 0;
	while(len--!=0) 
	{
		da=(uchar) (crc/256); 		// 以8位二進制數的形式暫存CRC的高8位 
		crc<<=8; 				// 左移8位,相當于CRC的低8位乘以2的8次方 
		crc^=crc_ta[da^*ptr]; 	/* 高8位和當前字節相加后再查表求CRC,再加上以前的CRC */
		ptr++;
	}
	return(crc);
}

void crcInitRegisters()
{
    regs.val = 0xffff;
}
// CRC輸入一個bit
void crcInputBit(bit in)
{
    bit a;
    a = regs.bits.bit0 ^ in;
    regs.bits.bit0 = regs.bits.bit1;
    regs.bits.bit1 = regs.bits.bit2;
    regs.bits.bit2 = regs.bits.bit3;
    regs.bits.bit3 = regs.bits.bit4 ^ a;
    regs.bits.bit4 = regs.bits.bit5;
    regs.bits.bit5 = regs.bits.bit6;
    regs.bits.bit6 = regs.bits.bit7;
    regs.bits.bit7 = regs.bits.bit8;
    regs.bits.bit8 = regs.bits.bit9;
    regs.bits.bit9 = regs.bits.bit10;
    regs.bits.bit10 = regs.bits.bit11 ^ a;
    regs.bits.bit11 = regs.bits.bit12;
    regs.bits.bit12 = regs.bits.bit13;
    regs.bits.bit13 = regs.bits.bit14;
    regs.bits.bit14 = regs.bits.bit15;
    regs.bits.bit15 = a;
}
// 輸出CRC碼(寄存器組的值)
uint crcGetRegisters( )
{
    return regs.val;
}
uint  bit_crc(uchar *ptr, uchar len){
	uint ret;
	uchar i,j,temp;
	crcInitRegisters();
	for(i=0;i<len;i++){
		temp=*(ptr+i);
		for(j=0;j<8;j++){
			if(temp&0x80) crcInputBit(1);				
			else          crcInputBit(0);
			temp <<=1;
		}
	}
	ret=crcGetRegisters();
	return ret;
}

code uint crctab16[] =
{
    0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
    0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
    0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
    0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
    0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
    0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
    0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
    0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
    0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
    0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
    0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
    0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
    0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
    0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
    0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
    0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
    0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
    0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
    0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
    0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
    0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
    0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
    0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
    0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
    0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
    0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
    0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
    0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
    0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
    0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
    0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
    0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78,
};

uint halfbyte_crc(unsigned char* pData, uint nLength)
{
    uint fcs = 0xffff;    	// 初始化
    while(nLength>0)
    {
        fcs = (fcs >> 8) ^ crctab16[(fcs ^ *pData) & 0xff];
        nLength--;
        pData++;
    }
    return ~fcs;    		// 取反
}





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
1024亚洲合集| 精品亚洲成a人| 久久精品国产99国产| 国产99久久久国产精品潘金网站| 欧美日韩电影在线| 国产精品电影一区二区| 精品一区二区三区视频在线观看 | 久久精品久久99精品久久| 97久久超碰精品国产| 日韩美女在线视频| 亚洲国产美国国产综合一区二区| 东方欧美亚洲色图在线| 欧美一区二区在线免费播放 | 欧美制服丝袜第一页| 国产人成亚洲第一网站在线播放| 另类小说一区二区三区| 精品视频在线免费| 亚洲综合清纯丝袜自拍| 91啪九色porn原创视频在线观看| 久久女同精品一区二区| 日本伊人色综合网| 6080国产精品一区二区| 亚洲影视在线播放| 日本二三区不卡| 亚洲情趣在线观看| 不卡电影一区二区三区| 欧美国产一区在线| 国产福利一区二区三区在线视频| 日韩欧美的一区二区| 三级久久三级久久久| 欧美在线看片a免费观看| 一区二区三区四区av| 色国产精品一区在线观看| 亚洲欧美日韩中文播放| 色吧成人激情小说| 一区二区久久久久| 欧美色视频在线观看| 亚洲已满18点击进入久久| 91国产免费看| 亚洲成人第一页| 欧美一区二区三区婷婷月色| 男人的天堂亚洲一区| 精品三级在线观看| 国产精品一区二区在线播放| 久久精品亚洲一区二区三区浴池| 国产经典欧美精品| 成人免费一区二区三区在线观看| 91视视频在线观看入口直接观看www| 国产精品网站一区| 99国产精品久久久久久久久久久| 亚洲天堂av老司机| 欧美日韩国产一二三| 免费在线成人网| 久久久精品人体av艺术| www.av亚洲| 一区二区三区四区乱视频| 3d动漫精品啪啪1区2区免费| 激情综合五月天| 国产精品伦理在线| 欧美无砖专区一中文字| 捆绑变态av一区二区三区| 中文字幕第一区综合| 欧美偷拍一区二区| 久久国产乱子精品免费女| 日本一区二区三区久久久久久久久不| 99久久亚洲一区二区三区青草| 亚洲国产欧美在线人成| 国产欧美一区二区三区在线看蜜臀 | 伊人婷婷欧美激情| 欧美一区二区免费视频| av在线一区二区| 午夜av一区二区三区| 国产欧美一区二区三区鸳鸯浴| 欧美日韩五月天| 国产成人啪免费观看软件 | 国产在线播精品第三| 亚洲视频电影在线| 日韩天堂在线观看| 91在线免费看| 久久精品国产澳门| 一区二区三区av电影| 久久亚洲一区二区三区明星换脸 | 国产一区二区日韩精品| 一区二区三区视频在线观看| 久久精品亚洲精品国产欧美kt∨| 欧美性受极品xxxx喷水| 处破女av一区二区| 免费成人在线观看视频| 亚洲最大成人网4388xx| 国产精品久久久爽爽爽麻豆色哟哟| 欧美日韩国产精品成人| 91欧美激情一区二区三区成人| 国模套图日韩精品一区二区 | 国产传媒久久文化传媒| 五月婷婷色综合| 亚洲欧美国产毛片在线| 26uuu精品一区二区| 这里只有精品电影| 欧美日韩亚洲综合在线| 91免费看`日韩一区二区| 国产电影精品久久禁18| 久久aⅴ国产欧美74aaa| 三级在线观看一区二区 | 精品亚洲国内自在自线福利| 五月天欧美精品| 亚洲成人av一区二区三区| 亚洲黄色片在线观看| 亚洲视频免费在线| 国产精品不卡视频| 国产片一区二区| 久久综合成人精品亚洲另类欧美 | 国产精品亚洲人在线观看| 久久99在线观看| 另类的小说在线视频另类成人小视频在线| 亚洲一卡二卡三卡四卡无卡久久| 亚洲欧美日韩国产成人精品影院 | 国产精品视频一二| 久久久美女毛片| 亚洲精品一区二区三区影院| 日韩一区和二区| 欧美xxxx老人做受| 久久影音资源网| 国产亚洲人成网站| 国产欧美一区二区三区在线看蜜臀 | 99精品视频一区二区三区| 99在线热播精品免费| 99精品偷自拍| 欧美日韩综合一区| 91麻豆精品国产自产在线| 日韩一本二本av| 久久久青草青青国产亚洲免观| 国产日韩欧美综合一区| 国产精品区一区二区三| 综合欧美一区二区三区| 亚洲曰韩产成在线| 奇米色一区二区三区四区| 国产一区二区91| 91麻豆swag| 91精品国产黑色紧身裤美女| 久久免费的精品国产v∧| 国产精品免费看片| 亚洲自拍偷拍图区| 蜜乳av一区二区三区| 国产大陆精品国产| 在线观看国产一区二区| 日韩精品综合一本久道在线视频| 国产夜色精品一区二区av| 综合av第一页| 蓝色福利精品导航| 91免费观看在线| 日韩欧美亚洲国产精品字幕久久久| 国产午夜精品一区二区| 一区二区三区日韩精品| 精品无人码麻豆乱码1区2区| 波多野结衣中文一区| 欧美日韩视频在线第一区 | 日韩欧美精品三级| 国产精品成人网| 奇米色一区二区| 91免费看片在线观看| 欧美xxxxxxxxx| 亚洲va中文字幕| 国产精品77777| 欧美精品tushy高清| 中文字幕第一区| 激情久久五月天| 欧美伊人久久久久久久久影院 | 91精品国产91综合久久蜜臀| 中文字幕欧美日本乱码一线二线| 午夜欧美视频在线观看| 成人三级在线视频| 欧美一级视频精品观看| 亚洲女爱视频在线| 高清beeg欧美| 精品国产自在久精品国产| 亚洲制服丝袜av| 99国产欧美久久久精品| 国产亚洲成av人在线观看导航 | 精品99999| 手机精品视频在线观看| 一本久道中文字幕精品亚洲嫩| 久久精品一区二区三区四区| 奇米色777欧美一区二区| 欧美中文字幕亚洲一区二区va在线| 国产精品美女久久久久高潮| 美女视频黄免费的久久 | 久久精品夜色噜噜亚洲a∨| 奇米影视一区二区三区小说| 欧美日韩在线直播| 一区二区三区四区不卡视频| 9久草视频在线视频精品| 国产精品美日韩| 国产成人啪免费观看软件| 久久蜜桃香蕉精品一区二区三区| 蜜臀av在线播放一区二区三区| 欧美高清精品3d| 一区二区三区日韩欧美| 在线精品视频一区二区| 亚洲一区影音先锋| 欧美日韩精品欧美日韩精品一综合|