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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? zlg sd card for ucos
?? 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"

#define TASK_STK_SIZE      64

#define CMD_SD_INIT		   0x00				/* 卡初始化卡命令  */
#define CMD_SD_READ    	   0x01				/* 卡讀命令        */
#define CMD_SD_WRITE   	   0x02				/* 卡寫命令        */
#define CMD_SD_ERASE	   0x03				/* 卡擦除命令      */

#define CMD_DATA_TRANS	   0x04				/* 將sd_buf中的數(shù)據(jù)發(fā)送到PC機 */
#define CMD_DATA_RECV	   0x05				/* 接收來自串口的數(shù)據(jù),并放入sd_buf中 */

/* SD/MMC卡讀寫緩沖區(qū),比SDMMC卡一個塊大8字節(jié) */  
uint8 sd_buf[520];


OS_STK   TaskStk[TASK_STK_SIZE];			/* 任務(wù)堆棧 */
OS_STK   TaskCardStk[TASK_STK_SIZE];		/* 卡操作任務(wù)堆棧 */
OS_EVENT *Uart0ReviceMbox;					/* 串口接收數(shù)據(jù)郵箱 */


void  TaskCard(void *data);
void  TaskUart0Revice(void *pdata);

/*********************************************************************************************************
** 函數(shù)名稱: main
** 功能描述: c語言的主函數(shù),由它啟動多任務(wù)環(huán)境
********************************************************************************************************/
int main (void)
{
    OSInit();

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

/*********************************************************************************************************
** 函數(shù)名稱: TaskStart
** 功能描述: μCOS-II的第一個任務(wù),通常由它初始化目標(biāo)板和建立其它任務(wù)
********************************************************************************************************/
        void  TaskCard(void *pdata)
{
    uint8 *pRec;
    uint8 err;
	uint32 bufaddr,blockaddr,blocknum;
	
    pdata = pdata;                                                     /* 避免編譯警告 */

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

    OSTaskCreate(TaskUart0Revice, (void *)0, 
                 &TaskStk[TASK_STK_SIZE - 1], 10);                     /* 創(chuàng)建Uart0接收任務(wù) */

    TargetInit();                                                      /* 目標(biāo)板初始化 */
    for (;;)
    {
        pRec = (uint8 *)OSMboxPend(Uart0ReviceMbox, 0, &err);          /* 接收數(shù)據(jù) */
        switch(pRec[0])
    	{
    		case CMD_SD_INIT: pRec[1] = SD_Initialize();			   /* 初始化SD卡 */
    		break; 
    		
    		case CMD_SD_READ:
    			 blockaddr = (pRec[1] << 24) + (pRec[2] << 16) +	   /* 計算塊地址 */
    						 (pRec[3] << 8) + pRec[4];
    			 pRec[1] = SD_ReadBlock(blockaddr, sd_buf);		 	   /* SD卡單塊讀 */ 			
    		break;
    		 	    		
    		case CMD_SD_WRITE:	 
    			 blockaddr = (pRec[1] << 24) + (pRec[2] << 16) + 
    						 (pRec[3] << 8) + pRec[4];
    			 pRec[1] = SD_WriteBlock(blockaddr, sd_buf);		   /* SD 卡單塊寫 */
    		break;
    			
    		case CMD_SD_ERASE:	 
    			 blockaddr = (pRec[1] << 24) + (pRec[2] << 16) + 
    						 (pRec[3] << 8) + pRec[4];				   /* 擦卡起始地址 */
    			 blocknum  = (pRec[5] << 16) + (pRec[6] << 8) +	
    				 		 (pRec[7]);								   /* 塊數(shù) */
    			 pRec[1] = SD_EraseBlock(blockaddr, blocknum);		   /* 擦除操作 */
    		break;
   			
    		case CMD_DATA_RECV:	 
    			 bufaddr = (pRec[1] << 8) + pRec[2];				   /* 計算緩沖區(qū)地址 */
    			 memcpy(sd_buf + bufaddr, &pRec[3], 5);				   /* 收到數(shù)據(jù)放入pRec */
    		break;
    			
    		case CMD_DATA_TRANS: 
    			 bufaddr = (pRec[1] << 8) + pRec[2];				   /* 計算緩沖區(qū)地址 */ 
    			 memcpy(&pRec[1], sd_buf + bufaddr, 7);				   /* sd_buf數(shù)據(jù)放入pRec */
    		break;  							
    	
    		default: break;
    	}
    	
    	UART0Write(pRec, 8);		/* 發(fā)送響應(yīng)幀 */
    }
}

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

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱码一区二区三区| 国产一区二区毛片| 国产三级精品三级在线专区| 色美美综合视频| 国模大尺度一区二区三区| 亚洲激情五月婷婷| 久久综合久色欧美综合狠狠| 色婷婷香蕉在线一区二区| 韩国精品免费视频| 亚洲国产一区二区三区青草影视| 中文字幕免费不卡| 日韩视频一区二区三区| 99精品视频在线观看免费| 国产乱淫av一区二区三区| 亚洲va欧美va天堂v国产综合| www日韩大片| 欧美一区二区在线看| 欧美日韩三级在线| 91久久免费观看| 成+人+亚洲+综合天堂| 韩国欧美国产1区| 麻豆久久久久久| 亚洲成人自拍网| 亚洲久草在线视频| 亚洲美女屁股眼交| 亚洲欧洲精品一区二区三区| 国产欧美一区二区精品性色| 2014亚洲片线观看视频免费| 日韩精品中文字幕一区二区三区 | 激情综合网av| 免费成人性网站| 午夜一区二区三区在线观看| 亚洲免费观看视频| 亚洲精品中文字幕乱码三区| 亚洲日本在线a| 日韩毛片在线免费观看| 国产精品黄色在线观看| 国产精品美女久久久久高潮| 国产色婷婷亚洲99精品小说| 久久精品综合网| 国产精品欧美久久久久一区二区| 欧美激情综合网| 国产精品女同一区二区三区| 国产精品系列在线| 国产亚洲精久久久久久| 色av综合在线| 国产一区二区精品久久91| 亚洲国产一二三| 国产精品女人毛片| 日韩免费一区二区三区在线播放| 欧美亚洲国产bt| 日韩免费一区二区| 欧美剧在线免费观看网站| 欧美日韩不卡一区二区| 欧美丰满嫩嫩电影| 日韩精品一区二区三区中文精品| 亚洲精品一线二线三线| 欧美国产97人人爽人人喊| 国产精品天天看| 亚洲夂夂婷婷色拍ww47| 视频一区在线视频| 国产精品资源在线| 不卡的av在线| 精品视频色一区| 精品久久国产老人久久综合| 久久免费的精品国产v∧| 国产精品灌醉下药二区| 亚洲国产cao| 国产一区二区毛片| 色婷婷av一区二区三区软件| 9191久久久久久久久久久| 精品99一区二区| 中文字幕欧美一| 亚洲成人av一区二区| 国产一区二区免费在线| 91久久免费观看| 精品国产91乱码一区二区三区| 国产精品传媒在线| 日日夜夜精品免费视频| 国产综合久久久久久久久久久久 | 亚洲国产视频一区二区| 久久成人久久爱| 99久久精品一区| 欧美va亚洲va香蕉在线| 国产精品久久久久四虎| 首页国产丝袜综合| 99久久精品国产观看| 欧美成人精品1314www| 亚洲精品中文在线| 久久国产精品一区二区| 色偷偷88欧美精品久久久| 精品入口麻豆88视频| 亚洲一区二区三区国产| 国产精品一区二区三区网站| 欧美日韩国产高清一区二区三区| 久久久久久黄色| 日韩福利电影在线| 一本一本大道香蕉久在线精品| 欧美成人一区二区三区| 亚洲第一会所有码转帖| 成人激情免费电影网址| 欧美成人aa大片| 亚洲gay无套男同| 93久久精品日日躁夜夜躁欧美| 日韩欧美国产午夜精品| 亚洲午夜久久久久中文字幕久| 丁香啪啪综合成人亚洲小说| 欧美电视剧免费观看| 午夜视频在线观看一区二区三区| av在线不卡网| 久久精品视频一区二区三区| 老司机午夜精品99久久| 欧美色欧美亚洲另类二区| 中文字幕永久在线不卡| 成人激情图片网| 国产欧美中文在线| 国精产品一区一区三区mba桃花| 欧美一区二区在线观看| 亚洲电影第三页| 欧洲一区二区三区免费视频| 亚洲免费在线视频一区 二区| 国产成人自拍高清视频在线免费播放| 欧美不卡一区二区三区| 日本aⅴ精品一区二区三区| 欧美揉bbbbb揉bbbbb| 亚洲一卡二卡三卡四卡| 在线观看日韩电影| 亚洲线精品一区二区三区八戒| 成av人片一区二区| 中文无字幕一区二区三区| 国产成人精品网址| 精品电影一区二区三区| 极品少妇xxxx偷拍精品少妇| 精品免费日韩av| 国产一区二区成人久久免费影院| 久久婷婷成人综合色| 国产精品一区二区在线观看网站| 久久女同精品一区二区| 国产成人免费高清| 中文字幕亚洲区| 日本精品一级二级| 性久久久久久久久久久久| 欧美日本韩国一区二区三区视频 | 亚洲午夜久久久久久久久电影网| 欧美日韩一区小说| 日韩精品电影在线| 精品国产乱码久久久久久影片| 精品系列免费在线观看| 久久综合色一综合色88| 丁香亚洲综合激情啪啪综合| 中文字幕欧美日韩一区| 色综合久久久网| 亚洲高清不卡在线| 欧美xxxxx牲另类人与| 国产一区二区久久| 亚洲视频资源在线| 欧美日韩在线精品一区二区三区激情 | 日本一区二区三区dvd视频在线| 成人avav影音| 亚洲精品日日夜夜| 欧美一区二区三区小说| 国产一区二区三区蝌蚪| 亚洲人成在线播放网站岛国| 欧美日韩精品三区| 韩国av一区二区三区四区| 中文字幕av一区二区三区高| 一本大道久久a久久精二百| 五月激情综合色| 久久久欧美精品sm网站| 一本大道久久精品懂色aⅴ| 日韩二区三区四区| 国产亚洲午夜高清国产拍精品| 色哟哟国产精品| 久草在线在线精品观看| 自拍偷在线精品自拍偷无码专区| 欧美性猛片xxxx免费看久爱| 久久精品999| 亚洲欧洲日本在线| 日韩欧美电影在线| 91一区二区在线| 久久国产夜色精品鲁鲁99| 国产精品国产三级国产普通话99 | 国产欧美日本一区二区三区| 欧美在线视频全部完| 国产精品一区二区x88av| 亚洲综合在线免费观看| 26uuu精品一区二区在线观看| 91在线国产福利| 激情六月婷婷久久| 亚洲线精品一区二区三区| 久久嫩草精品久久久精品一| 欧美性大战久久久久久久蜜臀| 欧美电影在线免费观看| 国产日韩欧美一区二区三区乱码| 理论电影国产精品| 在线观看91精品国产麻豆| 色婷婷国产精品| 国产成人啪午夜精品网站男同| 亚洲成人免费在线观看| 中文字幕制服丝袜成人av|