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

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

?? stc89c58rd+ flash-isp-iap.c

?? 宏晶科技用c語言實現的EEPROM完整底層驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
		ISP_CMD		=	ISP_CMD	&	0xf8;	/* 1111,1000 */
		ISP_CMD     =	ISP_CMD	|	READ_AP_and_Data_Memory_Command;	/* 0000,0001 */

		ISP_TRIG	=	0x46;	/* 觸發ISP_IAP命令 */
		ISP_TRIG	=	0xb9;	/* 觸發ISP_IAP命令 */
		_nop_();

		/*  比較對錯 */
		if(ISP_DATA != array[i])
		{
			ISP_IAP_disable();
			return ERROR;
		}
        begin_addr++;
	}
	ISP_IAP_disable();
	return	OK;
}

/* 寫數據進數據Flash存儲器(EEPROM), 只在同一個扇區內寫,保留同一扇區中不需修改的數據	*/
/* begin_addr,被寫數據Flash開始地址;counter,連續寫多少個字節; array[],數據來源		*/
INT8U write_flash_with_protect_in_one_sector(INT16U begin_addr, INT16U counter, INT8U array[])
{
	INT16U	i	=	0;
	INT16U	in_sector_begin_addr	=	0;
	INT16U	sector_addr	=	0;
	INT16U	byte_addr	=	0;

	/* 判是否是有效范圍,此函數不允許跨扇區操作 */
	if(counter > USED_BYTE_QTY_IN_ONE_SECTOR)
		return ERROR;
	in_sector_begin_addr =        begin_addr & 0x01ff;         /* 0000,0001,1111,1111 */
	/* 假定從扇區的第0個字節開始,到USED_BYTE_QTY_IN_ONE_SECTOR-1個字節結束,后面部分不用,程序易編寫	*/
	if( (in_sector_begin_addr + counter) > USED_BYTE_QTY_IN_ONE_SECTOR )
		return ERROR;

	/* 將該扇區數據 0 - (USED_BYTE_QTY_IN_ONE_SECTOR-1) 字節數據讀入緩沖區保護 */
	sector_addr		=	(begin_addr & 0xfe00); 	/* 1111,1110,0000,0000; 取扇區地址		*/
	byte_addr		=   sector_addr;			/* 扇區地址為扇區首字節地址			 	*/

	ISP_IAP_enable();
	for(i = 0; i < USED_BYTE_QTY_IN_ONE_SECTOR; i++)
	{
		ISP_ADDRH	=	(INT8U)(byte_addr >> 8);
		ISP_ADDRL	=	(INT8U)(byte_addr & 0x00ff);

		ISP_CMD		=	ISP_CMD	&	0xf8;        /* 1111,1000 */
		ISP_CMD		=	ISP_CMD	|	READ_AP_and_Data_Memory_Command;	/* 0000,0001 */

		ISP_TRIG	=	0x46;
		ISP_TRIG	=	0xb9;
		_nop_();

		protect_buffer[i]	=	ISP_DATA;
		byte_addr++;
	}

	/* 將要寫入的數據寫入保護緩沖區的相應區域,其余部分保留 */
	for(i = 0; i < counter; i++)
	{
		protect_buffer[in_sector_begin_addr] = array[i];
		in_sector_begin_addr++;
	}

	/* 擦除 要修改/寫入 的扇區 */
	ISP_ADDRH	=	(INT8U)(sector_addr >> 8);
	ISP_ADDRL	=	0x00;
	ISP_CMD		=	ISP_CMD	&	0xf8;        /* 1111,1000 */
	ISP_CMD		=	ISP_CMD	|	SECTOR_ERASE_AP_and_Data_Memory_Command;	/* 0000,0011 */

	ISP_TRIG	=	0x46;        /* 觸發ISP_IAP命令 */
	ISP_TRIG	=	0xb9;        /* 觸發ISP_IAP命令 */
	_nop_();

	/* 將保護緩沖區的數據寫入 Data Flash, EEPROM */
	byte_addr	=   sector_addr;			/* 扇區地址為扇區首字節地址	*/
	for(i = 0; i< USED_BYTE_QTY_IN_ONE_SECTOR; i++)
	{
		/* 寫一個字節 */
		ISP_ADDRH	=	(INT8U)(byte_addr >> 8);
		ISP_ADDRL	=	(INT8U)(byte_addr & 0x00ff);
		ISP_DATA	=	protect_buffer[i];
		ISP_CMD		=	ISP_CMD	&	0xf8;        /* 1111,1000 */
		ISP_CMD		=	ISP_CMD	|	PROGRAM_AP_and_Data_Memory_Command;		/* 0000,0010 */

		ISP_TRIG	=	0x46;        /* 觸發ISP_IAP命令 */
		ISP_TRIG	=	0xb9;        /* 觸發ISP_IAP命令 */
		_nop_();

		/* 讀回來 */
		ISP_DATA	=	0x00;

		ISP_CMD		=	ISP_CMD	&	0xf8;        /* 1111,1000 */
		ISP_CMD		=	ISP_CMD	|	READ_AP_and_Data_Memory_Command;	/* 0000,0001 */

		ISP_TRIG	=	0x46;        /* 觸發ISP_IAP命令 */
		ISP_TRIG	=	0xb9;        /* 觸發ISP_IAP命令 */
		_nop_();

		/*  比較對錯 */
		if(ISP_DATA != protect_buffer[i])
		{
			ISP_IAP_disable();
			return ERROR;
        }
        byte_addr++;
	}
	ISP_IAP_disable();
	return OK;
}

/* 測試常量數組 */
INT8U code Test_array_total[512]        =
{
        0x00,        0x01,        0x02,        0x03,        0x04,        0x05,        0x06,        0x07,
        0x08,        0x09,        0x0a,        0x0b,        0x0c,        0x0d,        0x0e,        0x0f,
        0x10,        0x11,        0x12,        0x13,        0x14,        0x15,        0x16,        0x17,
        0x18,        0x19,        0x1a,        0x1b,        0x1c,        0x1d,        0x1e,        0x1f,
        0x20,        0x21,        0x22,        0x23,        0x24,        0x25,        0x26,        0x27,
        0x28,        0x29,        0x2a,        0x2b,        0x2c,        0x2d,        0x2e,        0x2f,
        0x30,        0x31,        0x32,        0x33,        0x34,        0x35,        0x36,        0x37,
        0x38,        0x39,        0x3a,        0x3b,        0x3c,        0x3d,        0x3e,        0x3f,
        0x40,        0x41,        0x42,        0x43,        0x44,        0x45,        0x46,        0x47,
        0x48,        0x49,        0x4a,        0x4b,        0x4c,        0x4d,        0x4e,        0x4f,
        0x50,        0x51,        0x52,        0x53,        0x54,        0x55,        0x56,        0x57,
        0x58,        0x59,        0x5a,        0x5b,        0x5c,        0x5d,        0x5e,        0x5f,
        0x60,        0x61,        0x62,        0x63,        0x64,        0x65,        0x66,        0x67,
        0x68,        0x69,        0x6a,        0x6b,        0x6c,        0x6d,        0x6e,        0x6f,
        0x70,        0x71,        0x72,        0x73,        0x74,        0x75,        0x76,        0x77,
        0x78,        0x79,        0x7a,        0x7b,        0x7c,        0x7d,        0x7e,        0x7f,
        0x80,        0x81,        0x82,        0x83,        0x84,        0x85,        0x86,        0x87,
        0x88,        0x89,        0x8a,        0x8b,        0x8c,        0x8d,        0x8e,        0x8f,
        0x90,        0x91,        0x92,        0x93,        0x94,        0x95,        0x96,        0x97,
        0x98,        0x99,        0x9a,        0x9b,        0x9c,        0x9d,        0x9e,        0x9f,
        0xa0,        0xa1,        0xa2,        0xa3,        0xa4,        0xa5,        0xa6,        0xa7,
        0xa8,        0xa9,        0xaa,        0xab,        0xac,        0xad,        0xae,        0xaf,
        0xb0,        0xb1,        0xb2,        0xb3,        0xb4,        0xb5,        0xb6,        0xb7,
        0xb8,        0xb9,        0xba,        0xbb,        0xbc,        0xbd,        0xbe,        0xbf,
        0xc0,        0xc1,        0xc2,        0xc3,        0xc4,        0xc5,        0xc6,        0xc7,
        0xc8,        0xc9,        0xca,        0xcb,        0xcc,        0xcd,        0xce,        0xcf,
        0xd0,        0xd1,        0xd2,        0xd3,        0xd4,        0xd5,        0xd6,        0xd7,
        0xd8,        0xd9,        0xda,        0xdb,        0xdc,        0xdd,        0xde,        0xdf,
        0xe0,        0xe1,        0xe2,        0xe3,        0xe4,        0xe5,        0xe6,        0xe7,
        0xe8,        0xe9,        0xea,        0xeb,        0xec,        0xed,        0xee,        0xef,
        0xf0,        0xf1,        0xf2,        0xf3,        0xf4,        0xf5,        0xf6,        0xf7,
        0xf8,        0xf9,        0xfa,        0xfb,        0xfc,        0xfd,        0xfe,        0xff,
        0xff,        0xfe,        0xfd,        0xfc,        0xfb,        0xfa,        0xf9,        0xf8,
        0xf7,        0xf6,        0xf5,        0xf4,        0xf3,        0xf2,        0xf1,        0xf0,
        0xef,        0xee,        0xed,        0xec,        0xeb,        0xea,        0xe9,        0xe8,
        0xe7,        0xe6,        0xe5,        0xe4,        0xe3,        0xe2,        0xe1,        0xe0,
        0xdf,        0xde,        0xdd,        0xdc,        0xdb,        0xda,        0xd9,        0xd8,
        0xd7,        0xd6,        0xd5,        0xd4,        0xd3,        0xd2,        0xd1,        0xd0,
        0xcf,        0xce,        0xcd,        0xcc,        0xcb,        0xca,        0xc9,        0xc8,
        0xc7,        0xc6,        0xc5,        0xc4,        0xc3,        0xc2,        0xc1,        0xc0,
        0xbf,        0xbe,        0xbd,        0xbc,        0xbb,        0xba,        0xb9,        0xb8,
        0xb7,        0xb6,        0xb5,        0xb4,        0xb3,        0xb2,        0xb1,        0xb0,
        0xaf,        0xae,        0xad,        0xac,        0xab,        0xaa,        0xa9,        0xa8,
        0xa7,        0xa6,        0xa5,        0xa4,        0xa3,        0xa2,        0xa1,        0xa0,
        0x9f,        0x9e,        0x9d,        0x9c,        0x9b,        0x9a,        0x99,        0x98,
        0x97,        0x96,        0x95,        0x94,        0x93,        0x92,        0x91,        0x90,
        0x8f,        0x8e,        0x8d,        0x8c,        0x8b,        0x8a,        0x89,        0x88,
        0x87,        0x86,        0x85,        0x84,        0x83,        0x82,        0x81,        0x80,
        0x7f,        0x7e,        0x7d,        0x7c,        0x7b,        0x7a,        0x79,        0x78,
        0x77,        0x76,        0x75,        0x74,        0x73,        0x72,        0x71,        0x70,
        0x6f,        0x6e,        0x6d,        0x6c,        0x6b,        0x6a,        0x69,        0x68,
        0x67,        0x66,        0x65,        0x64,        0x63,        0x62,        0x61,        0x60,
        0x5f,        0x5e,        0x5d,        0x5c,        0x5b,        0x5a,        0x59,        0x58,
        0x57,        0x56,        0x55,        0x54,        0x53,        0x52,        0x51,        0x50,
        0x4f,        0x4e,        0x4d,        0x4c,        0x4b,        0x4a,        0x49,        0x48,
        0x47,        0x46,        0x45,        0x44,        0x43,        0x42,        0x41,        0x40,
        0x3f,        0x3e,        0x3d,        0x3c,        0x3b,        0x3a,        0x39,        0x38,
        0x33,        0x36,        0x35,        0x34,        0x33,        0x32,        0x31,        0x30,
        0x2f,        0x2e,        0x2d,        0x2c,        0x2b,        0x2a,        0x29,        0x28,
        0x27,        0x26,        0x25,        0x24,        0x23,        0x22,        0x21,        0x20,
        0x1f,        0x1e,        0x1d,        0x1c,        0x1b,        0x1a,        0x19,        0x18,
        0x17,        0x16,        0x15,        0x14,        0x13,        0x12,        0x11,        0x10,
        0x0f,        0x0e,        0x0d,        0x0c,        0x0b,        0x0a,        0x09,        0x08,
        0x07,        0x06,        0x05,        0x04,        0x03,        0x02,        0x01,        0x00
};

void display_Begin_LED(void)
{
	Begin_LED	=	0;  /* Begin_LED on */
}
void off_Begin_LED(void)
{
	Begin_LED	=	1;  /* Begin_LED off */
}
void display_OK_LED(void)
{
	OK_LED		=	0;  /* OK_LED on */
}
void off_OK_LED(void)
{
	OK_LED		=	1;  /* OK_LED off */
}

void display_ERROR_LED(void)
{
	ERROR_LED	=	0;  /* ERROR_LED on */
}
void off_ERROR_LED(void)
{
	ERROR_LED	=	1;  /* ERROR_LED off */
}

void delay(INT16U counter)
{
	INT16U	temp	=	0;
	for(temp = counter; temp>0; temp--)
	{
		_nop_();
		_nop_();
		_nop_();
	}
}

void main()
{
//sbit        Begin_LED	=	P1^0;
//sbit        ERROR_LED	=	P1^3;
//sbit        OK_LED	=	P1^7;

	display_Begin_LED();
	delay(DELAY_CONST);

	sector_erase(DEBUG_Data_Memory_Begin_Sector_addr);
	if(byte_program_and_verify(DEBUG_Data_Memory_Begin_Sector_addr,0x55) == OK)
		display_OK_LED();
	else
		display_ERROR_LED();

/*
	if(sequential_write_flash_in_one_sector(DEBUG_Data_Memory_Begin_Sector_addr, USED_BYTE_QTY_IN_ONE_SECTOR, Test_array_total))
		display_OK_LED();
	else
		display_ERROR_LED();
*/
/*
	if(write_flash_with_protect_in_one_sector(DEBUG_Data_Memory_Begin_Sector_addr+0x3, USED_BYTE_QTY_IN_ONE_SECTOR-0x30, Test_array_total))
		display_OK_LED();
	else
		display_ERROR_LED();
*/
	while(1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品欧美久久久久无广告| 国产成人在线视频免费播放| 成人av在线资源网站| 精品对白一区国产伦| 爽爽淫人综合网网站| 日本高清不卡aⅴ免费网站| 久久久久久毛片| 激情综合色综合久久综合| 欧美日韩三级视频| 一区二区三区在线免费视频| 国产69精品久久久久毛片| 欧美大白屁股肥臀xxxxxx| 三级成人在线视频| 8x8x8国产精品| 日本特黄久久久高潮| 欧美一级一级性生活免费录像| 亚洲国产日韩一区二区| 欧美在线不卡视频| 亚洲综合另类小说| 在线日韩国产精品| 爽好多水快深点欧美视频| 欧美精品1区2区3区| 麻豆国产精品777777在线| 精品国产三级电影在线观看| 国内成人精品2018免费看| 久久日韩精品一区二区五区| 成人免费视频播放| 亚洲免费在线电影| 欧美丰满少妇xxxbbb| 久久精品国产99国产精品| 精品国产露脸精彩对白| 成人一区二区三区中文字幕| 亚洲欧美日韩国产综合| 色综合天天天天做夜夜夜夜做| 亚洲精品视频免费观看| 欧美日韩一区二区在线观看| 激情成人午夜视频| 亚洲欧美日韩中文播放| 91精品国产综合久久小美女| 久久超碰97中文字幕| 国产精品网站在线| 欧美精品v日韩精品v韩国精品v| 精品制服美女久久| 亚洲人妖av一区二区| 日韩欧美你懂的| 97久久超碰精品国产| 久久精品噜噜噜成人av农村| 666欧美在线视频| 洋洋成人永久网站入口| 欧美日韩大陆一区二区| 国产精品77777竹菊影视小说| 成人欧美一区二区三区| 在线不卡中文字幕播放| 99综合电影在线视频| 免费久久99精品国产| 亚洲激情男女视频| 日本一区二区视频在线观看| 欧美日韩中文字幕一区| www.亚洲精品| 蜜臀a∨国产成人精品| 亚洲码国产岛国毛片在线| 欧美老女人第四色| 国产剧情一区二区| 久久99九九99精品| 日本欧美加勒比视频| 亚洲成人免费av| 捆绑调教美女网站视频一区| 亚洲欧洲av另类| 国产精品国产精品国产专区不蜜| 欧美电视剧在线观看完整版| 日韩一级大片在线| 91精品国产手机| 日韩欧美激情在线| 日韩精品一区二区三区中文不卡| 91精品国产综合久久蜜臀| 欧美午夜精品久久久| 精品视频一区 二区 三区| 91搞黄在线观看| 欧美日本国产视频| 欧美一级二级在线观看| 欧美v亚洲v综合ⅴ国产v| 亚洲精品一区二区三区香蕉| 精品国产一区二区精华| 国产精品久久777777| 成人免费一区二区三区在线观看 | 精品国产露脸精彩对白| 久久亚洲精精品中文字幕早川悠里| 精品日韩在线观看| 国产女主播一区| 午夜在线电影亚洲一区| 亚洲成av人影院在线观看网| 欧美在线观看视频在线| 美女一区二区三区| 国产丝袜美腿一区二区三区| 国产精品理论片在线观看| 精品国产露脸精彩对白| 久久久影院官网| 亚洲国产精品成人综合色在线婷婷 | 色婷婷av一区二区三区gif| 5858s免费视频成人| 久久免费偷拍视频| 亚洲综合丁香婷婷六月香| 国产一区二区中文字幕| 在线观看亚洲成人| 久久精品日韩一区二区三区| 亚洲电影在线播放| 成人国产一区二区三区精品| 欧美高清视频不卡网| 亚洲欧美日韩人成在线播放| 精品一区二区免费在线观看| 欧美亚洲综合另类| 亚洲国产精品ⅴa在线观看| 美女视频网站久久| 69堂成人精品免费视频| 国产欧美一区二区精品仙草咪| 亚洲第一狼人社区| 99精品视频一区| 国产亚洲欧洲一区高清在线观看| 国产·精品毛片| 2023国产精品视频| 青青草原综合久久大伊人精品优势| 一本大道av伊人久久综合| 国产亚洲精久久久久久| 狠狠色狠狠色综合| 日韩免费高清电影| 美女被吸乳得到大胸91| 欧美日韩dvd在线观看| 亚洲一二三区视频在线观看| 99久久国产综合精品色伊| 国产精品欧美久久久久一区二区| 国内精品自线一区二区三区视频| 日韩视频免费直播| 毛片av一区二区| 26uuu成人网一区二区三区| 麻豆一区二区三区| 久久美女艺术照精彩视频福利播放| 极品美女销魂一区二区三区免费| 精品国产乱码91久久久久久网站| 日韩av高清在线观看| 欧美成va人片在线观看| 国产一区二区三区四| 国产精品久99| av电影在线观看完整版一区二区| 国产精品久久久久aaaa| 在线视频一区二区三| 日韩国产欧美视频| 国产欧美综合在线观看第十页| 国产99久久久精品| 亚洲精品一二三| 日韩一区二区三区视频在线| 精品一区二区在线免费观看| 国产精品欧美综合在线| 波多野结衣中文字幕一区二区三区| 国产精品午夜免费| 欧美久久一区二区| 黄色小说综合网站| 亚洲美女视频一区| 久久亚洲综合色| 在线国产亚洲欧美| 国产精品一二三四五| 亚洲一区二区三区视频在线| 欧美国产精品中文字幕| 欧美日韩一区三区| 成人免费高清在线观看| 久久91精品国产91久久小草| 亚洲色图制服丝袜| 久久亚洲一区二区三区四区| 欧美午夜一区二区三区| 国产精品综合av一区二区国产馆| 亚洲国产精品自拍| 国产精品国产三级国产三级人妇| 欧美精品1区2区3区| 欧美伊人精品成人久久综合97| 国产精品资源在线看| 日韩在线一区二区| 一区二区三区中文字幕| 国产日韩一级二级三级| 精品少妇一区二区三区| 日韩一卡二卡三卡| 欧美日韩国产系列| 欧美午夜在线一二页| 色先锋久久av资源部| gogogo免费视频观看亚洲一| 狠狠色综合色综合网络| 麻豆精品在线观看| 久久精品国产亚洲高清剧情介绍 | 蜜桃视频一区二区三区在线观看| 欧美激情综合在线| 亚洲国产精品v| 中文字幕乱码一区二区免费| 国产欧美1区2区3区| 国产精品私人影院| 亚洲欧洲日本在线| 亚洲精品一卡二卡| 性做久久久久久| 美女一区二区三区| 久88久久88久久久| 国产成人精品三级| 91日韩在线专区| 欧美日韩一级大片网址|