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

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

?? main.c

?? 關于周立公USB試驗的改進程序
?? 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	TaskStkLengh	64			//Define the Task0 stack length 定義用戶任務0的堆棧長度
void  Disp_RGB(void)
{  uint32  x,y;
 
   TftSetWindow(0,0, 239,319); 
   TftSetWrite(0, 0);
   
   // 填充紅色
   for(y=0; y<80; y++)		
   {  for(x=0; x<240; x++)
      {  TftSendDat(0xF800); 
      }
   }
   
   // 填充綠色
   for(y=0; y<80; y++)
   {  for(x=0; x<240; x++)
      {  TftSendDat(0x07E0); 
      }
   }
   
   // 填充藍色
   for(y=0; y<80; y++)
   {  for(x=0; x<240; x++)
      {  TftSendDat(0x001F); 
      }
   }
   
   // 填充白色
   for(y=0; y<80; y++)
   {  for(x=0; x<240; x++)
      {  TftSendDat(0xFFFF); 
      }
   }
      
 
}

 
OS_STK	TaskStk [TaskStkLengh];		//Define the Task0 stack 定義用戶任務0的堆棧

void 	Task0(void *pdata);			//Task0 任務0

        int main (void)
{
	OSInit ();																										
	OSTaskCreate (Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 2);		
	OSStart ();
	return 0;															
}
/*********************************************************************************************************
**                            Task0 任務0
********************************************************************************************************/
#define	TaskUSBStkLengh	256
OS_STK	TaskStk_Host [TaskUSBStkLengh];		
void Task_USB_Host_Serve(void *pdata);

//OS_EVENT *Uart0ReviceMbox;					/* 串口接收數據郵箱 */
//OS_STK	TaskStk_Uart0 [TaskStkLengh];
//void  TaskUart0Revice(void *pdata);

//#define	TaskUDiskStkLengh	100
//OS_STK	TaskStk_UDisk[TaskUDiskStkLengh];	
//void Task_U_disk_DEMO(void *pdata);

#define	TaskOSFileStkLengh	1024
OS_STK        TaskOSFile[TaskOSFileStkLengh];

#define	TaskUDiskFSStkLengh	100
OS_STK	TaskStk_UDiskFS[TaskUDiskFSStkLengh];	
void  Task_UDiskFS_DEMO(void *pdata);		// ZLG/FS操作U盤任務函數



		void Task0	(void *pdata)
{
	pdata = pdata;
	
	OSTaskCreate (Task_USB_Host_Serve,(void *)0, 
				  &TaskStk_Host[TaskUSBStkLengh-1],3);	// 建立USB主機服務任務,USB主機服務任優先級就高于其它使用USB主機操作任務
    //OSTaskCreate (TaskUart0Revice, (void *)0, 
     //             &TaskStk_Uart0[TaskStkLengh - 1], 4);  
   	//OSTaskCreate (Task_U_disk_DEMO,(void *)0, 
	//			  &TaskStk_UDisk[TaskUDiskStkLengh-1],5);
	/*===================================================================*/
    OSTaskCreate (OSFileTask, (void *)0, 
    			  &TaskOSFile[TaskOSFileStkLengh-1], 6);	// 建立ZLG/FS文件管理系統任務
	OSTaskCreate (Task_UDiskFS_DEMO,(void *)0, 
				  &TaskStk_UDiskFS[TaskUDiskFSStkLengh-1],7);
	 PINSEL0 = 0x00000000;
     PINSEL1 = 0x00000000;
   
    GUI_Initialize();  		  
		
		
		 Disp_RGB();			  
   						  		
	//TargetInit ();
	
                  /* 創建Uart0接收任務 */
	while (1)
	{
		OSTimeDly(10);
	}
}
   
/*********************************************************************************************************
**                            USB 主機任務 
********************************************************************************************************/
   void Task_USB_Host_Serve(void *pdata)
{
	pdata = pdata;
   
	while (1)
	{
		USB_Host_Serve();
	}
}


/*********************************************************************************************************
** 函數名稱: TaskUart0Revice
** 功能描述: μCOS-II的任務
********************************************************************************************************/
/*        void  TaskUart0Revice(void *pdata)
{
    uint8 Buf[8],i;
    
    pdata = pdata;                                           /* 避免編譯警告 */

	/*Uart0ReviceMbox = OSMboxCreate(NULL);                              /* 建立郵箱 */
  /*  if (Uart0ReviceMbox == NULL)
        while (1);

    for (;;)
    {
        Buf[0] = UART0Getch();                               /* 接收數據頭 */    
      /*  for (i = 1; i < 8; i++)
            Buf[i] = UART0Getch();
        
        OSMboxPost(Uart0ReviceMbox, (void *)Buf);
    }
}*/

/*********************************************************************************************************
**                            USB 大容量演示任務 
********************************************************************************************************/
//#define CMD_INIT		   	0x00				/* 初始化U盤命令  */                	
//#define CMD_READ    	   	0x01				/* 讀命令        */
//#define CMD_WRITE   	   	0x02				/* 寫命令        */

//#define CMD_DATA_TRANS		0x04				/* 將data_buf中的數據發送到PC機 */
//#define CMD_DATA_RECV		0x05				/* 接收來自串口的數據,并放入data_buf中 */

/* U盤讀寫緩沖區,比U盤一個塊大8字節 */  
/*uint8 data_buf[520];														   

    void  Task_U_disk_DEMO(void *pdata)
{
    uint8 *pRec;
    uint8 err;
	uint32 bufaddr,blockaddr;
	hMedLUN * MediumPtr;
    device_instance * dviPtr;
	
    pdata = pdata;                                                     /* 避免編譯警告 */



   /* for (;;)
    {
        pRec = (uint8 *)OSMboxPend(Uart0ReviceMbox, 0, &err);          /* 接收數據 */
     /*   switch(pRec[0])
    	{
    		case CMD_INIT: 
    			dviPtr = find_mass_device(0);
				if(dviPtr)
				{
					MediumPtr =  Creat_Medium( dviPtr ,0);
    				pRec[1] = MediumPtr?0:1;
    				// U盤總扇區數
    				pRec[2]	= (uint8)(MediumPtr->LastLogicalBlookAddress/0x1000000);
    				pRec[3] = (uint8)(MediumPtr->LastLogicalBlookAddress/0x10000);
    				pRec[4] = (uint8)(MediumPtr->LastLogicalBlookAddress/0x100);
    				pRec[5] = (uint8)MediumPtr->LastLogicalBlookAddress;
    				// 扇區大小
    				pRec[6] = (uint8)(MediumPtr->BlockLengthInBytes/0x100);
    				pRec[7] = (uint8)MediumPtr->BlockLengthInBytes;
    			}
    			else
    				pRec[1] = 1;			   /* 初始化卡 */
    		/*break; 
    		
    		case CMD_READ:
    			 blockaddr = (pRec[1] << 24) + (pRec[2] << 16) +	   				/* 計算塊地址 */
//    						 (pRec[3] << 8) + pRec[4];
    		/*	 pRec[1] = ReadBlockData(MediumPtr, data_buf, blockaddr, 1)?0:1;	/* 讀U盤一個扇區 */ 			
    		/*break;
    		 	    		
    		case CMD_WRITE:	 
    			 blockaddr = (pRec[1] << 24) + (pRec[2] << 16) + 
    						 (pRec[3] << 8) + pRec[4];
    			 pRec[1] = WriteBlockData(MediumPtr, data_buf, blockaddr, 1)?0:1;	/* 寫U盤一個扇區 */
    		/*break;
    			
   			
    		case CMD_DATA_RECV:	 
    			 bufaddr = (pRec[1] << 8) + pRec[2];				   				/* 計算緩沖區地址 */
    		/*	 memcpy(data_buf + bufaddr, &pRec[3], 5);			   				/* 收到數據放入pRec */
    		/*break;
    			
    		case CMD_DATA_TRANS: 
    			 bufaddr = (pRec[1] << 8) + pRec[2];				   				/* 計算緩沖區地址 */ 
    			// memcpy(&pRec[1], data_buf + bufaddr, 7);			   				/* data_buf數據放入pRec */
    		/*break;  							
    	
    		default: break;
    	}
    	
    	UART0Write(pRec, 8);														/* 發送響應幀 */
  //  }
//}
/*********************************************************************************************************
**                                ZLG/FS操作U盤演示任務 
********************************************************************************************************/
 char  *strupr(char *Str)					// ZLF/FS需使用的函數
{    char *cp;
     cp = Str;
    while (*cp != 0)
    {   if (*cp >= 'a' && *cp <= 'z' )
            *cp -=  'a' - 'A';
       cp++;
    }
    return Str;
}
/*=======================================================================================================*/
#define IniLED_DiskBe()			IO2DIR  |=1<<28;IO2SET=1<<28
#define SetLED_DiskBe()			IO2SET   =1<<28
#define ClrLED_DiskBe()			IO2CLR   =1<<28

#define IniLED_DiskRW()			IO2DIR  |=1<<29;IO2SET=1<<29
#define SetLED_DiskRW()			IO2SET   =1<<29
#define ClrLED_DiskRW()			IO2CLR   =1<<29

#define IniBUZZ()				IO0DIR|=1<<7;IO0SET=1<<7
#define SetBUZZ()				IO0SET   =1<<7
#define ClrBUZZ()				IO0CLR   =1<<7

char   FNAME[] = "A:\\你好.TXT";
char   BOOK[] = "A:\\DATA.TXT";
char    DIR[]="A:\\USB_HOST";
char   DOOK[]="A:\\BOOOK";

char const WritFileData[]=
"\r\n******************Copyright (c) 周立功單片機發展有限公司***********************\r\n\
\r\n\
    ZLG/FS是廣州周立功單片機發展有限公司開發的面向嵌入式系統開發的小型文件系統,\r\n\
是ZLG系列中間件的重要成員之一。它是與FAT12、FAT16、FAT32高度兼容的文件系統,可以\r\n\
直接與個人電腦交換文件。它是可移植的、可固化的文件系統,可以用于前后臺系統,也可\r\n\
用于多任務環境。目前ZLG/FS的最新版本為1.0。\r\n\
    HostMassLib是基于ZLG USB HOST STACK及ZLG Mass Storage Class驅動封裝的ISP116x\r\n\
讀寫U盤驅動庫。該庫針對LPC213x系統微處理器配置編譯生成,使用RAM資源少于4K,使用\r\n\
CODE資源少于12.4K,可同時支持兩個U盤。\r\n\
\r\n*********************************ARM開發部門************************************\r\n";
    void  Task_UDiskFS_DEMO(void *pdata)		// ZLG/FS操作U盤任務函數
{
    device_instance * dviPtr;
    uint8 *read_buf;
    
    uint8  *txt;
	
	HANDLE FHandle;
	HANDLE BHandle;
    pdata = pdata; 
    read_buf = malloc(sizeof(WritFileData)); ///為read_buf緩存器分配空間
    
   
    
    txt =  malloc(sizeof(WritFileData));  ///為txt緩存器分配空間
    
 	IniLED_DiskBe();IniLED_DiskRW();IniBUZZ();
	while (1)
	{	dviPtr = find_mass_device(0);						// 查找大容量類設備
	  	if(dviPtr)											// 等待U盤插入
		{	/* 設備插入操作*/
			ClrLED_DiskBe();								// 點亮LED_DiskBe指示設備連接設備有效		
			ClrLED_DiskRW();
		   							// 點亮LED_DiskWR指示開始對U盤操作
			OSAddFileDriver(USBCammand);					// 安裝文件系統驅動
			//FHandle = OSFileOpen(FNAME, "RW");				// 打開或創建文件
	    	//if(Not_Open_FILE!=FHandle)						// 打開文件成功
	    	//{
	    	/* 文件操作 */
	    	/*	OSFileSeek(FHandle,0, SEEK_END);			// 將指針移到文件末尾
	    		
 	   			OSFileWrite((uint8 *)WritFileData,
 	   						 sizeof(WritFileData),FHandle);	// 寫數據入文件
 	   						 
 	   			OSFileClose(FHandle); //關閉文件
 	   				                     
 	   			if(Not_Open_FILE!=FHandle)
 	   			{
 	   			   FHandle = OSFileOpen(FNAME, "RW");	      //打開文件
 	   					 
 	   		       OSFileRead(read_buf,sizeof(WritFileData),FHandle);//從A:\\你好.TXT文件中讀出數據,并放在read_buf緩存里面 	
 	   		   
 	   		    
 	   		    memcpy(&txt[0], read_buf, sizeof( WritFileData)); //把緩存read_buf中的內容,復制到&txt[0]為初始地址緩存中

 	   		      OSFileSeek(FHandle,0, SEEK_END);
 	   		       OSFileWrite((uint8 *)txt,
 	   						   sizeof(WritFileData),FHandle);	// 寫數據入文件A:\\你好.TXT
 	   		   	}  
 	   		   	
 	   		   	//free(read_buf);
 	   		   	//free(txt);
	 
 	   			OSFileClose(FHandle);						// 關閉文件
				OSMakeDir(DIR);								// 創建目錄
    			OSAllCacheWriteBack();						// 將緩沖區數據寫回設備
    		   			
    			ClrBUZZ();									// 蜂鳴器蜂鳴提示文件操作完成
    			OSTimeDly(100);
    			SetBUZZ();	
    		}
    		else
    		{	ClrBUZZ();									// 蜂鳴器長鳴(直到U盤拔出)指示打開文件失敗	
    		}
    		*/
    		
    		
    	BHandle = OSFileOpen(BOOK, "RW");	
    		if(Not_Open_FILE!=BHandle)						// 打開文件成功
	    	{
	    	/* 文件操作 */
	    		//OSFileSeek(BHandle,0, SEEK_END);			// 將指針移到文件末尾
	    		
 	   			//OSFileWrite((uint8 *)WritFileData,
 	   				//	 sizeof(WritFileData),BHandle);	// 寫數據入文件
 	   						 
 	   			if(Not_Open_FILE!=FHandle)        
 	   			{
 	   			  FHandle= OSFileOpen(FNAME,"RW");
 	   			  OSFileRead(read_buf,sizeof(WritFileData),FHandle);////從A:\\你好.TXT文件中讀出數據,并放在read_buf緩存里面 
 	   			  memcpy(&txt[0],read_buf,sizeof(WritFileData));   //把緩存read_buf中的內容,復制到&txt[0]為初始地址緩存中
 	   			  OSFileSeek(FHandle,0, SEEK_END);    // 將指針移到文件末尾
 	   			  OSFileWrite((uint8 *)txt,sizeof(WritFileData),BHandle);//把txt緩存中的數據,寫入文件data.txt
 	   			
 	   			
 	   			
 	   			OSFileClose(FHandle);
 	   		    OSFileClose(BHandle);						// 關閉文件
				OSMakeDir(DOOK);								// 創建目錄
    			OSAllCacheWriteBack();						// 將緩沖區數據寫回設備
    		   			
    			ClrBUZZ();									// 蜂鳴器蜂鳴提示文件操作完成
    			OSTimeDly(100);
    			SetBUZZ();
    			}
    			 else
    		   {	  
    		    ClrBUZZ();									// 蜂鳴器長鳴(直到U盤拔出)指示打開文件失敗	
    		   }
    			
    		}
    		else
    		{	ClrBUZZ();									// 蜂鳴器長鳴(直到U盤拔出)指示打開文件失敗	
    		}
    		
    		 /* 操作完成 */
     		OSRemoveFileDriver(0);							// 刪除驅動	
    		SetLED_DiskRW();	
    		OSRemoveFileDriver(0);							// 刪除驅動	
    		SetLED_DiskRW(); 
    		   free(read_buf);  //釋放釋放存儲空間
 	   		   free(txt);   //釋放存儲空間
 	   		   
 	   		 							// 熄滅LED_DiskWR指示開始對U盤操作完成,這里可以拔出U盤
    		while(dviPtr)									// 等待U盤拔出
    		{	dviPtr=find_mass_device(0);
    			OSTimeDly(10);
    		}
    		/* 設備拔出處理  */
    		SetBUZZ();										// 關蜂鳴器
    		SetLED_DiskBe();								// 熄滅LED_DiskBe指示設備已拔出											
    	}
    	OSTimeDly(10);
	}
}   
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女精品自拍一二三四| 日韩欧美不卡一区| 亚洲乱码中文字幕| 日本道在线观看一区二区| 一区二区三区四区在线免费观看 | 国产麻豆日韩欧美久久| 精品欧美一区二区在线观看| 韩国精品一区二区| 中文字幕不卡在线观看| 91在线国产观看| 亚洲综合在线五月| 91精品国产一区二区| 国产精品亚洲第一| 国产精品福利一区| 欧美色图12p| 久久精品国产99| 国产精品人成在线观看免费 | 亚洲欧美另类小说| 欧美性极品少妇| 男人的天堂久久精品| 久久日韩精品一区二区五区| 99riav久久精品riav| 舔着乳尖日韩一区| 久久综合久久久久88| 色综合久久66| 九九**精品视频免费播放| 成人欧美一区二区三区白人| 欧美系列在线观看| 狠狠色狠狠色综合| 一区二区三区四区视频精品免费 | 亚洲亚洲人成综合网络| 91精品欧美一区二区三区综合在 | 国产精品 日产精品 欧美精品| 久久精品亚洲精品国产欧美| 日本高清免费不卡视频| 国产在线一区观看| 亚洲精品综合在线| 久久久五月婷婷| 欧美性色欧美a在线播放| 国产成人精品在线看| 天天影视色香欲综合网老头| 久久九九全国免费| 91精品国产高清一区二区三区 | 亚洲欧美日韩国产综合| 精品国产99国产精品| 91福利社在线观看| 丁香激情综合五月| 久久 天天综合| 亚洲一卡二卡三卡四卡| 国产日韩亚洲欧美综合| 6080日韩午夜伦伦午夜伦| 不卡免费追剧大全电视剧网站| 日产国产高清一区二区三区| 亚洲精品免费在线播放| 国产精品午夜久久| 日韩欧美你懂的| 欧美日韩在线播放三区| 91麻豆精东视频| 国产成人8x视频一区二区| 日韩和欧美一区二区三区| 亚洲人xxxx| 中文字幕一区二区三区不卡| 久久久亚洲欧洲日产国码αv| 日韩一区二区三区视频在线| 欧美视频一区在线| 一本色道亚洲精品aⅴ| 成人小视频在线| 国产精品一级片在线观看| 看国产成人h片视频| 天堂久久久久va久久久久| 一区二区三区产品免费精品久久75| 亚洲精品在线电影| 欧美一区在线视频| 日韩一区二区免费在线电影| 欧美老肥妇做.爰bbww| 欧美日本一道本在线视频| 在线观看日产精品| 色综合天天性综合| 色婷婷久久久久swag精品| 99久久久无码国产精品| av成人老司机| 91亚洲午夜精品久久久久久| 91女人视频在线观看| 色婷婷激情久久| 日本韩国视频一区二区| 在线观看欧美日本| 欧美日韩视频专区在线播放| 色综合天天综合给合国产| 一本久久综合亚洲鲁鲁五月天| 99久久婷婷国产综合精品电影| www.欧美亚洲| 欧美自拍偷拍一区| 欧美性感一区二区三区| 69久久夜色精品国产69蝌蚪网| 欧美一区二区在线播放| 精品久久久久99| 国产精品三级视频| 亚洲视频免费看| 亚洲123区在线观看| 紧缚奴在线一区二区三区| 精品一区二区国语对白| av在线播放一区二区三区| 在线精品国精品国产尤物884a| 欧美性videosxxxxx| 日韩欧美另类在线| 国产精品妹子av| 亚洲国产日日夜夜| 国内不卡的二区三区中文字幕| 国产精品影视网| 在线精品观看国产| 337p亚洲精品色噜噜| 日韩免费福利电影在线观看| 久久蜜臀精品av| 中文字幕不卡三区| 五月天国产精品| 成人性色生活片免费看爆迷你毛片| 在线观看精品一区| 欧美精品一区二区三区在线 | 亚洲电影在线播放| 91福利精品第一导航| 91原创在线视频| 欧美综合视频在线观看| 26uuuu精品一区二区| 中文字幕国产精品一区二区| 成人av电影免费观看| 日韩精品一区二区三区视频在线观看| 日韩欧美一区二区视频| 国产欧美日韩三区| 亚洲成人激情自拍| 国产成人午夜99999| 在线电影欧美成精品| 中文字幕第一页久久| 看片网站欧美日韩| 欧美性受xxxx| 国产精品乱码一区二区三区软件| 午夜精品一区二区三区三上悠亚 | 国产激情一区二区三区桃花岛亚洲| 色综合久久综合网97色综合| 精品久久五月天| 夜夜操天天操亚洲| 成人高清免费观看| 日韩精品一区二区三区swag| 一区二区三区四区精品在线视频| 国内精品视频一区二区三区八戒| 欧美专区在线观看一区| 国产精品久久久久久久久图文区| 美女一区二区久久| 欧美三级电影网| 夜夜亚洲天天久久| 91香蕉视频在线| 国产天堂亚洲国产碰碰| 精品写真视频在线观看| 欧美一二三四在线| 天天色天天爱天天射综合| 色婷婷精品大在线视频 | 日韩一区二区三区在线视频| 亚洲国产欧美另类丝袜| 99久久精品久久久久久清纯| 久久人人超碰精品| 久草精品在线观看| 精品88久久久久88久久久| 一卡二卡欧美日韩| 在线一区二区视频| 伊人婷婷欧美激情| 91麻豆精品一区二区三区| 亚洲三级在线看| av一区二区久久| 欧美韩国日本不卡| 成人夜色视频网站在线观看| 国产欧美日韩三级| 成人教育av在线| 亚洲视频一区在线观看| 91在线免费视频观看| 国产色爱av资源综合区| 国产乱人伦偷精品视频免下载| 欧美精品一区二区三区视频| 韩国一区二区视频| 久久久欧美精品sm网站| 懂色中文一区二区在线播放| 国产亚洲一区字幕| 成人久久久精品乱码一区二区三区| 中文乱码免费一区二区| 在线观看亚洲一区| 久久无码av三级| 国产精品自拍网站| 国产精品伦一区二区三级视频| 成人久久视频在线观看| 亚洲欧美影音先锋| 色系网站成人免费| 亚洲成人在线观看视频| 欧美福利视频导航| 麻豆国产精品一区二区三区| 精品处破学生在线二十三| 国产成人免费高清| 亚洲欧美日韩在线播放| 欧美日韩电影一区| 韩国女主播成人在线观看| 国产精品理论在线观看| 欧美三日本三级三级在线播放| 日韩国产在线一|