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

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

?? main.c

?? 通過使用ZLG/CF驅動讀寫CF卡或IDE硬盤的指定扇區等操作實驗
?? C
字號:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Chenmingji
** Created date:		2004-09-16
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#include "stdlib.h"
#define  TASK_STK_SIZE                  100
OS_STK   TaskStartStk[TASK_STK_SIZE];

void  TaskStart(void *pdata);

/****************************************************************************
* 名稱:ASCII_TO_HEX()
* 功能:ASCII轉16進制數
****************************************************************************/
uint8 ASCII_TO_HEX(uint16 ASCII)
{	uint8 data;
	uint8  HEX;
	
	data=(uint8)ASCII;
	if(data>'9')
		data=data-'A' + 0x0a;
	else
		data=data-'0';
	HEX = data;
		
	data=(uint8)(ASCII>>8);
	if(data>'9')
		data=data-'A' + 0x0a;
	else
		data=data-'0';
	HEX |= data<<4; 
	
	return HEX;
}


/*********************************************************************************************************
** 函數名稱: RetStateToPC
** 功能描述: 返回指令執行狀態到PC機
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
********************************************************************************************************/
void RetStateToPC(uint8 RetData)
{
	uint8 RetData2PC[7]={'S','T','A','T','E',':','N'};	//初始化返回到PC的狀態
	if(RetData)
	{
		RetData2PC[6]='Y';		//指令正常完成
	}

	UART0Write(RetData2PC,7);	// 寫數據到PC
}



/*********************************************************************************************************
** 函數名稱: SendDriveInfo
** 功能描述: 返回指令執行狀態到PC機
** 輸 入: DeviceInfo,描述信息數據結構指針
** 輸 出: 無
** 全局變量: 無
********************************************************************************************************/
void SendDriveInfo(PCF_IDENTIFY_DATA DeviceInfo)
{
	UART0Write((uint8*)DeviceInfo->ModelNumber,40);//發送設備型號
	UART0Write((uint8*)DeviceInfo->SerialNumber,20);//發送設備序列號
	UART0Write((uint8*)&DeviceInfo->CurrentSectorCapacity,4); //發送設備總扇區數
}

/*********************************************************************************************************
** 函數名稱: main
** 功能描述: c語言的主函數,由它啟動多任務環境
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
********************************************************************************************************/
        int main (void)
{
    OSInit();

    OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);
    OSStart();
    return 0;
}

/*********************************************************************************************************
** 函數名稱: TaskStart
** 功能描述: μCOS-II的第一個任務,通常由它初始化目標板和建立其它任務
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
********************************************************************************************************/
 uint8	DataBuff[0x1000];	//保存扇區數據緩沖區
        void  TaskStart(void *pdata)
{
	#define	DEVICE0 0
	uint16	SectorCount;	//扇區數
   	uint32	SectorNumber;	//扇區號
	uint32	ReceiveData;	//接收到數據的字節數
	uint16	i;				
	uint8 	RetData,buff[15];
	uint8	CommandCode;
    pdata = pdata;                                                  /* 避免編譯警告 */
  
    TargetInit();                              /* 目標板初始化 */
    for (;;)
    {	    	
err:
        while ((UART0Getch() != 'Z'));
       	for(i=0;i<15;i++)buff[i]=UART0Getch();
       	if((buff[0]!='L')||(buff[1]!='G')||(buff[2]!=':'))	goto err;
		
		
		CommandCode =  (ASCII_TO_HEX(buff[3])<<4)|ASCII_TO_HEX(buff[4]); 		//指令代碼
	
	   	SectorNumber = (ASCII_TO_HEX(buff[5])<<28)|(ASCII_TO_HEX(buff[6])<<24)|	//扇區號
      				   (ASCII_TO_HEX(buff[7])<<20)|(ASCII_TO_HEX(buff[8])<<16)|
      				   (ASCII_TO_HEX(buff[9])<<12)|(ASCII_TO_HEX(buff[10])<<8)|
      				   (ASCII_TO_HEX(buff[11])<<4)|ASCII_TO_HEX(buff[12]);
      
      	SectorCount =  (ASCII_TO_HEX(buff[13])<<4)|ASCII_TO_HEX(buff[14]);		// 扇區數
       	
       	switch(CommandCode)
        {
        	case 0xE0://立即待機
        		RetData = ATA_StandbyImmediate(DEVICE0);
        		break;
        		
        	case 0xE1://立即空閑
        		RetData = ATA_IdleImmediate(DEVICE0);
        		break;
        		
        	case 0x20://讀扇區
        		RetData = ATA_ReadSector(DEVICE0,(uint16*)DataBuff,SectorNumber,SectorCount);//寫CF卡或IDE硬盤數扇區數據
        		if(SectorCount==0)
        			SectorCount =256;	//如果扇區數為0,即操作256個扇區
        		ReceiveData = 512*SectorCount;		//傳輸總字節數
        		UART0Write(DataBuff,ReceiveData);	//傳輸數據到PC
        		break;
        		
        	case 0x30://寫扇區
        		if(SectorCount==0)					//如果扇區號為0即寫256個扇區
        			ReceiveData = 512*256;			//需要收到的數據字節總數
        		else
        			ReceiveData = 512*SectorCount;	//需要收到的數據字節總數
				OS_ENTER_CRITICAL();
        		for(i=0;i<ReceiveData;i++)
        		{
        			DataBuff[i]=UART0Getch();		//接收扇區數據
        		}	
				OS_EXIT_CRITICAL();
        		RetData = ATA_WriteSector(DEVICE0,(uint16*)DataBuff,SectorNumber,SectorCount);//寫CF卡或IDE硬盤數扇區數據
        		break;
        		
        	case 0xEC://獲取設備識別信息
        		RetData = ATA_IdentifyDrive(DEVICE0,DataBuff);	//獲取設備識別信息
        		
        		if(RetData)
        			SendDriveInfo((PCF_IDENTIFY_DATA)DataBuff);		//傳輸數據到PC
        		break;
        		
        	default:
        		RetData = FALSE;
        		break;        
        }
         
        RetStateToPC(RetData);//向PC返回指令執行狀態
    } 
}
   
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新高清无码专区| 老司机一区二区| 免费观看在线色综合| 国产99久久久国产精品潘金网站| 色综合久久88色综合天天| 日韩午夜精品电影| 亚洲色图欧美激情| 国产盗摄一区二区| 91精品国产麻豆| 亚洲精品亚洲人成人网在线播放| 麻豆精品精品国产自在97香蕉| 91欧美激情一区二区三区成人| 精品理论电影在线| 天天爽夜夜爽夜夜爽精品视频| av亚洲精华国产精华精| 国产日韩影视精品| 国产在线精品一区二区 | 亚洲午夜精品网| 高清不卡在线观看| 日韩精品资源二区在线| 亚洲成人精品影院| 91蜜桃婷婷狠狠久久综合9色| 久久久久99精品一区| 美女爽到高潮91| 91麻豆精品国产91久久久久久久久| 亚洲欧美影音先锋| 国产99精品视频| 国产片一区二区| 国产精品资源站在线| 久久嫩草精品久久久精品一| 久久99久国产精品黄毛片色诱| 91精品国产一区二区| 视频一区二区三区中文字幕| 4438x成人网最大色成网站| 夜夜嗨av一区二区三区中文字幕| av一区二区三区黑人| 亚洲少妇屁股交4| 91久久精品网| 亚洲bdsm女犯bdsm网站| 69精品人人人人| 久久国产精品99精品国产| 日韩精品一区在线| 国产专区欧美精品| 精品国产乱码久久久久久1区2区| 国产一区二区0| 国产日韩欧美精品综合| 99久免费精品视频在线观看| 亚洲人吸女人奶水| 欧美久久久影院| 蜜桃久久久久久久| 亚洲国产精品成人综合色在线婷婷| 成人在线视频一区| 一区二区三区色| 欧美日韩性生活| 国内精品伊人久久久久av影院| 久久精品一区二区三区不卡| 成人sese在线| 亚洲va欧美va人人爽| 欧美一区二区精品久久911| 麻豆精品国产传媒mv男同| 久久久精品免费网站| 91蝌蚪porny成人天涯| 五月天欧美精品| 久久亚洲精精品中文字幕早川悠里| 成人免费黄色在线| 婷婷久久综合九色综合绿巨人| 精品va天堂亚洲国产| 91在线视频18| 美女久久久精品| 亚洲天堂精品视频| 欧美一区二区精品久久911| 国产69精品一区二区亚洲孕妇| 亚洲一区二区三区影院| 久久久99久久| 欧美日韩精品一二三区| 国产精品91一区二区| 丝袜亚洲另类欧美| 国产精品美女www爽爽爽| 欧美日韩国产精品成人| 成人永久免费视频| 免费观看久久久4p| 一区二区国产盗摄色噜噜| 精品国产乱码久久久久久老虎| 在线视频国产一区| 国产成人av影院| 免费视频最近日韩| 亚洲综合在线免费观看| 国产精品久久久久一区二区三区 | 中文字幕一区二区三中文字幕| 欧美日韩一区二区三区四区五区| 国产毛片精品一区| 日本三级韩国三级欧美三级| 成人欧美一区二区三区| 久久久精品蜜桃| 欧美大白屁股肥臀xxxxxx| 91福利精品视频| 成人国产精品免费观看| 激情五月婷婷综合| 奇米精品一区二区三区在线观看 | 精品一区二区在线播放| 午夜久久久久久久久久一区二区| 国产精品久久久久久久午夜片| 日韩一区二区视频在线观看| 色悠久久久久综合欧美99| 国产成人精品一区二区三区网站观看| 免费人成精品欧美精品| 午夜激情一区二区三区| 亚洲在线视频免费观看| 亚洲精品乱码久久久久久| 中文字幕一区av| 国产精品情趣视频| 久久综合九色综合欧美98| 精品国产凹凸成av人网站| 欧美一级欧美一级在线播放| 欧美日韩一区在线观看| 欧美午夜片在线看| 91国产免费看| 欧美揉bbbbb揉bbbbb| 欧美色综合网站| 欧美色老头old∨ideo| 色av成人天堂桃色av| 日本韩国视频一区二区| 在线视频一区二区三区| 欧美三区在线观看| 欧美日韩夫妻久久| 欧美一区二区日韩| 欧美成人猛片aaaaaaa| www欧美成人18+| 欧美激情中文不卡| 亚洲人精品午夜| 亚洲成人资源在线| 加勒比av一区二区| 国产成人精品免费视频网站| av激情综合网| 欧美日韩性生活| 日韩欧美在线一区二区三区| 精品99一区二区| 国产精品蜜臀在线观看| 夜夜爽夜夜爽精品视频| 日韩精品国产精品| 国产经典欧美精品| 一本久久a久久精品亚洲| 欧美日韩在线播放三区| 精品粉嫩超白一线天av| 国产精品久久久久毛片软件| 夜夜嗨av一区二区三区四季av| 蜜乳av一区二区三区| 成人av在线资源| 欧美一级日韩不卡播放免费| 久久精品视频一区二区三区| 亚洲欧洲一区二区在线播放| 亚洲高清在线视频| 国产v日产∨综合v精品视频| 色欧美88888久久久久久影院| 91精品国产91久久综合桃花| 欧美国产日韩精品免费观看| 亚洲第一精品在线| 成人的网站免费观看| 日韩视频免费观看高清完整版在线观看| 18成人在线视频| 麻豆精品在线播放| 91丨九色porny丨蝌蚪| 日韩欧美国产成人一区二区| 国产精品毛片a∨一区二区三区| 亚洲国产你懂的| 成人精品免费网站| 精品噜噜噜噜久久久久久久久试看| 综合久久一区二区三区| 国产一区视频网站| 欧美日韩激情一区二区三区| 中文字幕一区av| 风间由美性色一区二区三区| 日韩一区二区三区av| 亚洲精品视频在线看| 国产一区 二区| 欧美一级高清片| 夜夜爽夜夜爽精品视频| 99精品久久免费看蜜臀剧情介绍| 日韩久久久精品| 日韩影院免费视频| 欧美色涩在线第一页| 亚洲免费毛片网站| 国产·精品毛片| 欧美成va人片在线观看| 亚洲福利电影网| 91激情在线视频| 亚洲另类一区二区| 成人理论电影网| 中文字幕av一区 二区| 国产精品一区免费在线观看| 日韩精品一区在线观看| 青娱乐精品视频在线| 91精品国产综合久久精品麻豆| 亚洲黄色片在线观看| 99久久99久久综合| 国产精品久久久一区麻豆最新章节| 国产精品夜夜嗨| 久久精品一区二区三区不卡| 国产在线视频一区二区三区| 日韩精品最新网址|