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

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

?? uart.s

?? CS5532的驅動程序
?? S
?? 第 1 頁 / 共 3 頁
字號:
; 			case PARAM_RESET_POLARITY:			//區分51和AVR用的,1表示AVR 0表示AT89C
; 				if(resetPolarity != msg_buffer[2])
; 				{
; 					resetPolarity = msg_buffer[2];
; 					EEPROMwrite(EEP_RESET_POLARITY,resetPolarity);				
; 				}
; 				break;
; 			case PARAM_CONTROLLER_INIT:
; 				paramControllerInit = msg_buffer[2];
; 				break;
; 			case PARAM_VADJUST:
; 				vAdjust = msg_buffer[2];
; 				EEPROMwrite(EEP_VOL_ADJUST,vAdjust);
; 				break;
; 			case PARAM_VTARGET:
; 				vTarget = msg_buffer[2]; 
; 				EEPROMwrite(EEP_VOL_TARGET,vTarget);
; 				asm("jmp 0x17FF");
; 				break;	
; 			default:break; 		
; 		}
; 		num_bytes = 2;
; 		msg_buffer[0] = CMD_SET_PARAMETER;
; 		msg_buffer[1] = STATUS_CMD_OK;
; 	}
; 	//命令CMD_GET_PARAMETER
; 	else if(cmd==CMD_GET_PARAMETER)
; 	{
; 		switch(msg_buffer[1])
; 		{
; 			case PARAM_BUILD_NUMBER_LOW:
; 				tmp = CONFIG_PARAM_BUILD_NUMBER_LOW;
; 				break;
; 			case PARAM_BUILD_NUMBER_HIGH:
; 				tmp = CONFIG_PARAM_BUILD_NUMBER_HIGH;
; 				break;
; 			case PARAM_HW_VER:
; 				tmp = CONFIG_PARAM_HW_VER;
; 				break;
; 			case PARAM_SW_MAJOR:
; 				tmp = CONFIG_PARAM_SW_MAJOR;
; 				break;
; 			case PARAM_SW_MINOR:
; 				tmp = CONFIG_PARAM_SW_MINOR;
; 				break;
; 			case PARAM_SCK_DURATION:
; 				tmp = clockSpeed;
; 				break;
; 			case PARAM_RESET_POLARITY:
; 				tmp = resetPolarity;
; 				break;
; 			case PARAM_CONTROLLER_INIT:
; 				tmp = paramControllerInit;
; 				break;
; 			case PARAM_VTARGET:				//目標電壓
; 				tmp = vTarget;
; 				break;	
; 			case PARAM_VADJUST:
; 				tmp = vAdjust;				//參考電壓
; 				break;
; 			case PARAM_TOPCARD_DETECT:
; 				tmp = TOP_CARD_STK520;
; 				break;	
; 		}
; 		num_bytes = 3;
; 		msg_buffer[0] = CMD_GET_PARAMETER;
; 		msg_buffer[1] = STATUS_CMD_OK;
; 		msg_buffer[2] = tmp;
; 	}
; 	//命令CMD_OSCCAL
; 	else if(cmd==CMD_OSCCAL)
; 	{
; 		num_bytes = 2;
; 		msg_buffer[0] = CMD_OSCCAL;
; 		msg_buffer[1] = STATUS_CMD_OK;
; 	}	
; 	//命令CMD_LOAD_ADDRESS
; 	else if(cmd==CMD_LOAD_ADDRESS)
; 	{
; 		address =  ((unsigned long)msg_buffer[1])<<24;
; 		address |= ((unsigned long)msg_buffer[2])<<16;
; 		address |= ((unsigned long)msg_buffer[3])<<8;
; 		address |= ((unsigned long)msg_buffer[4]);
; 		num_bytes = 2;
; 		msg_buffer[0] = CMD_LOAD_ADDRESS;
; 		msg_buffer[1] = STATUS_CMD_OK;
; 	}
; 	//命令CMD_FIRMWARE_UPGRADE
; 	else if(cmd==CMD_FIRMWARE_UPGRADE)
; 	{
; 		num_bytes = 2;
; 		msg_buffer[0] = CMD_FIRMWARE_UPGRADE;
; 		//msg_buffer[1] = STATUS_CMD_OK;
; 		msg_buffer[1] = STATUS_CMD_FAILED;
; 		asm("jmp 0x17FF");
; 		//進入Firmware upgrade模式
; 	}
; 	//命令CMD_ENTER_PROGMODE_ISP
; 	else if(cmd == CMD_ENTER_PROGMODE_ISP)
; 	{
; 		prgMode=1;
; 		spiEnable();
; 		msDelay(msg_buffer[2]);	
; 		LED_ON2;
; 		for(i=0;i<msg_buffer[4];i++)
; 		{
; 			SPIWrite(msg_buffer[8]);
; 			msDelay(msg_buffer[5]);
; 			SPIWrite(msg_buffer[9]);
; 			msDelay(msg_buffer[5]);
; 			if(msg_buffer[7]==3)		//AVR
; 			{
; 				tmp=SPIWrite(msg_buffer[10]);
; 				msDelay(msg_buffer[5]);				
; 				SPIWrite(msg_buffer[11]);
; 				msDelay(msg_buffer[5]);				
; 			}
; 			else				//AT89S
; 			{
; 				SPIWrite(msg_buffer[10]);
; 				msDelay(msg_buffer[5]);				
; 				tmp=SPIWrite(msg_buffer[11]);
; 				msDelay(msg_buffer[5]);
; 			}
; 			if((tmp==msg_buffer[6])||(msg_buffer[7]==0))
; 			{
; 				i=0xFF;
; 				LED_OFF2;
; 				break;
; 			}
; 			else
; 			{
; 				spiEnable();
; 				msDelay(msg_buffer[2]);	
; 			}
; 		}
; 		num_bytes = 2;
; 		msg_buffer[0] = CMD_ENTER_PROGMODE_ISP;
; 		if(i==0xFF)
; 		{			
; 			msg_buffer[1] = STATUS_CMD_OK;			
; 		}
; 		else
; 		{			
; 			msg_buffer[1] = STATUS_CMD_FAILED;
; 		}		
; 	}
; 	//命令 CMD_LEAVE_PROGMODE_ISP
; 	else if(cmd==CMD_LEAVE_PROGMODE_ISP)
; 	{
; 		prgMode=0;		
; 		spiDisable();
; 		num_bytes = 2;
; 		msg_buffer[0] = CMD_LEAVE_PROGMODE_ISP;
; 		msg_buffer[1] = STATUS_CMD_OK;		
; 	}
; 	//命令CMD_CHIP_ERASE_ISP
; 	else if(cmd==CMD_CHIP_ERASE_ISP)
; 	{
; 		universalComm(msg_buffer[3],msg_buffer[4],msg_buffer[5],msg_buffer[6]);	
; 		//Newer AVR's seems to have a busy bit
; 		//cant test this because I don't have any of these new chips
; 		if(msg_buffer[2]==0)
; 		{
; 			msDelay(msg_buffer[1]);
; 		}
; 		else 	//if(msg_buffer[2]==1)
; 		{
; 			while(universalComm(0xF0,0x00,0x00,0x00)&1);
; 		}		
; 		num_bytes = 2;
; 		msg_buffer[0] = CMD_CHIP_ERASE_ISP;
; 		msg_buffer[1] = STATUS_CMD_OK;			
; 	}
; 	//命令CMD_PROGRAM_FLASH_ISP
; 	else if(cmd==CMD_PROGRAM_FLASH_ISP)
; 	{
; 		block_size = ((unsigned int)msg_buffer[1])<<8;
; 		block_size |= msg_buffer[2];
; 		mode = msg_buffer[3];
; 		LED_FLASH2;
; 		//如果是字寫模式
; 		if((mode&1) == 0)
; 		{	
; 			for(i=0;i<block_size;i++)
; 			{	
; 				//If we have an uneven byte programm the
; 				//high byte			
; 				if(i&1)
; 				{
; 					SPIWrite(msg_buffer[5]|(1<<3));
; 				}
; 				else
; 				{
; 					SPIWrite(msg_buffer[5]);
; 				}
; 				SPIWrite16(address);
; 				SPIWrite(msg_buffer[i+10]);
; 				//Check if we can do polling
; 				if(msg_buffer[8]!=msg_buffer[i+10])
; 				{
; 					polling_address = address&0xFFFF;
; 				}
; 				//If not switch the mode hard waiting
; 				else
; 				{
; 					mode = (mode&(~0x0E)) | 0x02;
; 				}
; 				//Different polling methods
; 				//Hard waiting
; 				if((mode&0x0E) == 0x02)
; 				{
; 					msDelay(msg_buffer[4]);
; 				}
; 				//Data polling
; 				else if((mode&0x0E) == 0x04)
; 				{
; 					do{
; 						//If we have an uneven byte read the
; 						//high byte			
; 						if(i&1)
; 						{
; 							SPIWrite(msg_buffer[7]|(1<<3));
; 						}
; 						else
; 						{
; 							SPIWrite(msg_buffer[7]);
; 						}						
; 						SPIWrite16(polling_address);
; 						tmp=SPIWrite(0x00);
; 					}while(tmp==msg_buffer[8]);
; 				}
; 				//RDY/BSY polling
; 				else if((mode&0x0E) == 0x08)
; 				{
; 					while(universalComm(0xF0,0x00,0x00,0x00)&1);
; 				}
; 				//If something was not correct with the given mode do
; 				//hard waiting. Should never reach this point
; 				else
; 				{
; 					msDelay(msg_buffer[4]);					
; 				}		
; 				//increment (word) address only when we have an uneven (byte) address
; 				if(i&1) address++;
; 			}			
; 		}
; 		//Page Mode
; 		else
; 		{
; 			for(i=0;i<block_size;i++)
; 			{
; 				//If we have an uneven(奇數) byte programm the
; 				//high byte			
; 				if(i&1)
; 				{
; 					SPIWrite(msg_buffer[5]|(1<<3));  	//高字節
; 				}
; 				else
; 				{
; 					SPIWrite(msg_buffer[5]);		//低字節
; 				}
; 				SPIWrite16(address);
; 				SPIWrite(msg_buffer[i+10]);
; 				//Check if we can do polling//用于數據輪尋,隨意找一個地址
; 				if(msg_buffer[8]!=msg_buffer[i+10])
; 				{
; 					//We have to check if we have an uneven byte. 
; 					//Set the polling address to a byte address
; 					//so that we can poll the right location
; 					polling_address = (address&0xFFFF)*2;
; 					if(i&1) polling_address++;
; 				}
; 				
; 				//increment (word) address only when we have an uneven (byte) address
; 				if(i&1) address++;
; 			}
; 			//If this page is complete the bit 7 of mode will be set and we programm the page
; 			if(mode&0x80)  //頁編程,并且選擇等待的方式
; 			{
; 				SPIWrite(msg_buffer[6]);	
; 				SPIWrite16(start_address);
; 				SPIWrite(0x00);
; 				//If we have no valid polling address switch to simple wait mode
; 				if(polling_address==0)
; 				{
; 					mode = (mode&(~0x70)) | 0x10;
; 				}
; 				//Different polling methods
; 				//Hard waiting
; 				if((mode&0x70) == 0x10)
; 				{
; 					msDelay(msg_buffer[4]);
; 				}
; 				//Data polling
; 				else if((mode&0x70) == 0x20)
; 				{
; 					do{
; 						//If we have an uneven byte read the
; 						//high byte			
; 						if(polling_address%2)
; 						{
; 							SPIWrite(msg_buffer[7]|(1<<3));
; 						}
; 						else
; 						{
; 							SPIWrite(msg_buffer[7]);
; 						}
; 						SPIWrite16(polling_address/2);
; 						tmp=SPIWrite(0x00);
; 					}while(tmp==msg_buffer[8]);
; 				}
; 				//RDY/BSY polling
; 				else if((mode&0x70) == 0x40)
; 				{
; 					while(universalComm(0xF0,0x00,0x00,0x00)&1);
; 				}
; 				//If something was not correct with the given mode do
; 				//hard waiting. Should never reach this point
; 				else
; 				{
; 					msDelay(msg_buffer[4]);					
; 				}
; 			}
; 		}
; 		num_bytes = 2;
; 		msg_buffer[0] = CMD_PROGRAM_FLASH_ISP;
; 	}
; 	//命令CMD_READ_FLASH_ISP
; 	else if(cmd==CMD_READ_FLASH_ISP)
; 	{
; 		LED_FLASH2;	
; 		block_size = ((unsigned int)msg_buffer[1])<<8;
; 		block_size |= msg_buffer[2];
; 		tmp = msg_buffer[3];
; 		
; 		for(i=0;i<block_size;i++)
; 		{
; 			//Select Low or High-Byte
; 			if(i&1)
; 			{
; 				SPIWrite(tmp|(1<<3));
; 			}
; 			else
; 			{
; 				SPIWrite(tmp);
; 			}
; 			
; 			SPIWrite16(address&0xFFFF);
; 			msg_buffer[i+2] = SPIWrite(0);
; 			//increment (word) address only when we have an uneven (byte) address
; 			if(i&1) address++;
; 		}
; 		
; 		num_bytes = block_size+3;
; 		msg_buffer[0] = CMD_READ_FLASH_ISP;
; 		msg_buffer[1] = STATUS_CMD_OK;
; 		msg_buffer[block_size+2] = STATUS_CMD_OK;
; 	}
; 	//命令CMD_PROGRAM_EEPROM_ISP
; 	else if(cmd==CMD_PROGRAM_EEPROM_ISP)
; 	{
; 		block_size = ((unsigned int)msg_buffer[1])<<8;
; 		block_size |= msg_buffer[2];
; 		mode = msg_buffer[3];
; 		
; 		//Byte Mode
; 		if((mode&1) == 0)
; 		{		
; 			for(i=0;i<block_size;i++)
; 			{	
; 				LED_FLASH2;	
; 				SPIWrite(msg_buffer[5]);								
; 				SPIWrite16(address&0xFFFF);
; 				SPIWrite(msg_buffer[i+10]);
; 				
; 				//Check if we can do polling
; 				if((msg_buffer[i+10]!=msg_buffer[8])&&(msg_buffer[i+10]!=msg_buffer[9]))
; 				{
; 					polling_address = address&0xFFFF;
; 				}
; 				//If not switch the mode hard waiting
; 				else
; 				{
; 					mode = (mode&(~0x0E)) | 0x02;
; 				}
; 				
; 				//Different polling methods
; 				//Hard waiting
; 				if((mode&0x0E) == 0x02)
; 				{
; 					msDelay(msg_buffer[4]);
; 				}
; 				//Data polling
; 				else if((mode&0x0E) == 0x04)
; 				{
; 					do{
; 						SPIWrite(msg_buffer[7]);
; 						SPIWrite16(polling_address);
; 						tmp=SPIWrite(0x00);
; 					}while((tmp==msg_buffer[8])||(tmp==msg_buffer[9]));
; 				}
; 				//RDY/BSY polling
; 				else if((mode&0x0E) == 0x08)
; 				{
; 					while(universalComm(0xF0,0x00,0x00,0x00)&1);
; 					//while(spi_transfer_32(0xF0000000)&1);
; 				}
; 				//If something was not correct with the given mode do
; 				//hard waiting. Should never reach this point
; 				else
; 				{
; 					msDelay(msg_buffer[4]);					
; 				}
; 				
; 				//increment address
; 				address++;
; 			}			
; 		}
; 		//Page Mode
; 		else
; 		{
; 			
; 			for(i=0;i<block_size;i++)
; 			{
; 				LED_FLASH2;
; 				SPIWrite(msg_buffer[5]);
; 				SPIWrite16(address&0xFFFF);
; 				SPIWrite(msg_buffer[i+10]);
; 				//Check if we can do polling
; 				if((msg_buffer[i+10]!=msg_buffer[8])&&(msg_buffer[i+10]!=msg_buffer[9]))
; 				{
; 					polling_address = address&0xFFFF;
; 				}
; 				
; 				//increment (word) address only when we have an uneven (byte) address
; 				address++;
; 			}
; 			
; 			//If this page is complete the bit 7 of mode will be set and we programm the page
; 			if(mode&0x80)
; 			{
; 				SPIWrite(msg_buffer[6]);						
; 				SPIWrite16(start_address&0xFFFF);
; 				SPIWrite(0);
; 				
; 				//If we have no valid polling address switch to simple wait mode
; 				if(polling_address==0)
; 				{
; 					mode = (mode&(~0x70)) | 0x10;
; 				}
; 				
; 				//Different polling methods
; 				//Hard waiting
; 				if((mode&0x70) == 0x10)
; 				{
; 					msDelay(msg_buffer[4]);
; 				}
; 				//Data polling
; 				else if((mode&0x70) == 0x20)
; 				{
; 					do{
; 						//If we have an uneven byte read the
; 						//high byte			
; 						if(i&1)
; 						{
; 							SPIWrite(msg_buffer[7]|(1<<3));
; 						}
; 						else
; 						{
; 							SPIWrite(msg_buffer[7]);
; 						}
; 						SPIWrite16(polling_address);
; 						tmp=SPIWrite(0x00);
; 					}while(tmp==msg_buffer[8]);
; 				}
; 				//RDY/BSY polling
; 				else if((mode&0x70) == 0x40)
; 				{
; 					while(universalComm(0xF0,0x00,0x00,0x00)&1);
; 				}
; 				//If something was not correct with the given mode do
; 				//hard waiting. Should never reach this point
; 				else
; 				{
; 					msDelay(msg_buffer[4]);					
; 				}
; 			}
; 		}
; 		
; 		num_bytes = 2;
; 		msg_buffer[0] = CMD_PROGRAM_EEPROM_ISP;
; 		msg_buffer[1] = STATUS_CMD_OK;
; 	}
; 	//命令CMD_READ_EEPROM_ISP
; 	else if(cmd==CMD_READ_EEPROM_ISP)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区0| 国产乱理伦片在线观看夜一区| 国产精品系列在线观看| 欧美三级韩国三级日本一级| 欧美激情一区二区三区不卡| 免费成人在线网站| 在线一区二区三区四区| 国产精品美女视频| 久久国产精品第一页| 欧美日韩国产高清一区二区三区| 国产精品短视频| 国产福利一区二区三区在线视频| 欧美一区二区二区| 亚洲国产精品一区二区久久| av成人动漫在线观看| 久久久久久久久免费| 麻豆精品视频在线观看免费| 欧美午夜精品久久久久久超碰| 国产精品久线观看视频| 国产精品一区免费在线观看| 日韩色视频在线观看| 午夜影院久久久| 91豆麻精品91久久久久久| 1024亚洲合集| 成人黄色777网| 中文字幕免费观看一区| 国产一区不卡视频| 久久久久久电影| 国内久久婷婷综合| 精品国产百合女同互慰| 美女性感视频久久| 日韩欧美国产一区在线观看| 亚洲成a人v欧美综合天堂下载 | 亚洲欧洲国产日本综合| 国产精品123| 久久综合色婷婷| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲综合丝袜美腿| 色系网站成人免费| 亚洲精品中文字幕乱码三区| 色婷婷综合久久久久中文| 成人欧美一区二区三区白人| 波多野结衣中文字幕一区二区三区| 久久久精品tv| 国产91高潮流白浆在线麻豆| 中文字幕欧美国产| 99久久精品免费观看| 亚洲黄色免费网站| 欧洲精品在线观看| 欧美色图在线观看| 三级欧美韩日大片在线看| 777亚洲妇女| 美女脱光内衣内裤视频久久网站 | 91在线国内视频| 亚洲欧美在线aaa| 91亚洲午夜精品久久久久久| 亚洲毛片av在线| 欧美系列日韩一区| 婷婷综合在线观看| 日韩欧美国产小视频| 精品一区二区久久| 国产日韩欧美激情| 99精品欧美一区二区蜜桃免费| 亚洲欧洲精品成人久久奇米网| 色呦呦国产精品| 亚洲va欧美va国产va天堂影院| 欧美高清精品3d| 久久99热这里只有精品| 久久久精品免费免费| www.欧美色图| 亚洲一区二区三区视频在线| 欧美精品少妇一区二区三区| 久久电影网站中文字幕 | 在线观看一区不卡| 日本欧美加勒比视频| 精品国产区一区| 成人激情黄色小说| 亚洲国产成人av好男人在线观看| 欧美日韩久久久| 国产一区二区三区免费播放| 中文字幕一区二区5566日韩| 在线区一区二视频| 精品在线一区二区| 亚洲天堂网中文字| 91精品婷婷国产综合久久| 国产永久精品大片wwwapp| 成人欧美一区二区三区小说 | 一区二区三区在线视频观看58 | 99视频超级精品| 午夜成人免费电影| 国产欧美日韩在线| 欧美三级电影网站| 国产成人精品午夜视频免费| 一卡二卡三卡日韩欧美| 欧美成人国产一区二区| 91在线视频在线| 麻豆91精品91久久久的内涵| 国产精品久久久久久久第一福利 | 91小视频在线免费看| 日本系列欧美系列| 亚洲色图都市小说| 精品对白一区国产伦| 色成人在线视频| 国产一区二区在线视频| 亚洲主播在线观看| 国产日韩欧美一区二区三区乱码 | 精品1区2区3区| 国产一区日韩二区欧美三区| 亚洲人亚洲人成电影网站色| 欧美一级电影网站| 91在线精品一区二区三区| 另类人妖一区二区av| 亚洲综合色网站| 国产区在线观看成人精品| 5566中文字幕一区二区电影| 成人免费毛片app| 美女视频黄 久久| 亚洲资源在线观看| 国产精品高潮呻吟| 欧美精品一区二区久久婷婷| 欧美三级三级三级爽爽爽| 成人97人人超碰人人99| 喷水一区二区三区| 亚洲一区二区视频在线| 国产精品福利av| 久久久精品免费网站| 日韩三级中文字幕| 欧洲日韩一区二区三区| caoporen国产精品视频| 国产自产高清不卡| 日本不卡中文字幕| 亚洲高清视频在线| ●精品国产综合乱码久久久久 | 在线观看区一区二| 白白色亚洲国产精品| 国产在线日韩欧美| 日韩avvvv在线播放| 亚洲一线二线三线久久久| 中文字幕一区在线观看视频| 国产亚洲综合性久久久影院| 日韩欧美一区二区不卡| 制服丝袜在线91| 欧美日韩精品一区二区天天拍小说 | 欧美高清在线一区| 精品播放一区二区| 日韩精品一区二区三区四区| 日本成人超碰在线观看| 亚洲国产欧美在线| 亚洲国产中文字幕在线视频综合| 亚洲免费av观看| 亚洲精品免费在线观看| 成人欧美一区二区三区白人| 国产精品二三区| 中文字幕一区视频| 亚洲色图欧洲色图婷婷| 日韩理论片中文av| 亚洲精品免费一二三区| 亚洲天堂成人在线观看| 亚洲啪啪综合av一区二区三区| 国产精品久久久久久一区二区三区 | 欧美性大战久久| 欧美日韩美少妇| 在线综合亚洲欧美在线视频| 欧美一个色资源| 欧美va亚洲va国产综合| 精品国产91乱码一区二区三区| 日韩视频一区二区| 久久一区二区视频| 欧美激情在线一区二区| 中文字幕一区二区三区蜜月| 亚洲丝袜美腿综合| 一区二区三区免费在线观看| 亚洲电影一区二区三区| 日韩高清不卡在线| 激情深爱一区二区| 国产99久久久国产精品| 成人av网站在线| 91久久精品日日躁夜夜躁欧美| 欧美视频一区二区三区在线观看| 欧美日本国产视频| 欧美不卡一区二区三区四区| 国产亚洲一区二区在线观看| 欧美国产精品久久| 一区二区三区精品| 视频在线观看国产精品| 韩国精品主播一区二区在线观看 | 成人免费视频一区二区| av亚洲精华国产精华精华| 日本精品一区二区三区高清| 欧美性受极品xxxx喷水| 日韩一区二区高清| 日本一区二区久久| 亚洲乱码国产乱码精品精的特点| 亚洲成人久久影院| 激情文学综合网| 91丨九色丨国产丨porny| 欧美日韩国产不卡| 久久久精品国产免大香伊| 亚洲男人天堂av| 蜜桃一区二区三区在线观看|