⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 基于EasyArm2200和ucOS2的SD卡文件系统的实现
💻 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	512				//Define the Task0 stack length 定义用户任务0的堆栈长度
 
OS_STK	TaskStartStk[TaskStkLengh];		//Define the Task0 stack 定义用户任务0的堆栈
OS_STK  TaskStk[1024];

        char *strupr(char *Str)
{
    char *cp;
    
    cp = Str;
    while (*cp != 0)
    {
        if (*cp >= 'a' && *cp <= 'z' )
        {
            *cp -=  'a' - 'A';
        }
        cp++;
    }
    return Str;
}

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

        int main (void)
{
	OSInit ();																										
	OSTaskCreate(Task0,(void *)0, &TaskStartStk[TaskStkLengh - 1], 1);		
    OSTaskCreate(OSFileTask, (void *)0, &TaskStk[1023], 0);
	OSStart ();
	return 0;															
}
/*********************************************************************************************************
**                            Task0 任务0
********************************************************************************************************/
char *FileName = "a:\\wrt.txt";
char WritFileData[]="hello!xiyou!";
char Rcv[10];
uint8 nResult;

		void Task0	(void *pdata)
{
    HANDLE FHandle;    

	pdata = pdata;
	TargetInit ();									/* LPC2210硬件初始化 */
	
	nResult=OSAddFileDriver(SDCammand, NULL);				/* 增加存储设备: SD/MMC卡 */

    FHandle = OSFileOpen(FileName, "w");			/* 以可读/可写方式打开FileName文件 */
    if(FHandle != Not_Open_FILE)
    {												/* 打开文件成功   */
   		OSFileSeek(FHandle, 0, SEEK_END);			/* 指定文件读/写的位置 */
													/* 向 txt 文件中写入数据 */
    	OSFileWrite(WritFileData, sizeof(WritFileData), FHandle);

    	OSFileClose(FHandle);						/* 关闭文件 */

		OSMakeDir("a:\\ARM&FATS");					/* 在根目录下建立一个目录 */

    	OSRemoveDir("DCIM.dir");					/* 这句没有作用,只示例该函数的使用方法 */

	    OSAllCacheWriteBack();						/* 写数据真正写入存储介质中,如SD卡中 */

   		OSRemoveFileDriver(0);						/* 移去该盘符 */
    }
    else
    {
    	FHandle=OSFileOpen("a:\\rd.txt", "r");
    	OSFileRead(Rcv, 4, FHandle);
    	OSFileClose(FHandle);
    }
    
    while (1);										/* 本示例程序到此结束 */
}
   
   
/*********************************************************************************************************
** 函数名称: GetDateTime
** 功能描述: 用户完成函数,获取当前的时间
**
** 输 入: Time  指向保存结果
**
** 输 出: 错误代码,RETURN_OK为正确
**         
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 陈明计
** 日 期: 2004年12月29日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
   uint8    GetDataTime(DATE_TIME *GetTime)
{
    uint32 tmp;
    
    OS_ENTER_CRITICAL();
  
    tmp = CTC * 100;
    GetTime->ti_hund = tmp >> 16;
    GetTime->ti_sec  = SEC;
    GetTime->ti_min  = MIN;
    GetTime->ti_hour = HOUR;
    GetTime->da_dow  = DOW;
    GetTime->da_day  = DOM;
    GetTime->da_mon  = MONTH;
    GetTime->da_year = YEAR;
    
    tmp = CTC * 100;
    tmp = tmp >> 16;
    
    if (GetTime->ti_hund != tmp)
    {
        tmp = CTC * 100;
        GetTime->ti_hund = tmp >> 16;
        GetTime->ti_sec  = SEC;
        GetTime->ti_min  = MIN;
        GetTime->ti_hour = HOUR;
        GetTime->da_dow  = DOW;
        GetTime->da_day  = DOM;
        GetTime->da_mon  = MONTH;
        GetTime->da_year = YEAR;
    }
    OS_EXIT_CRITICAL();
    return RETURN_OK;
}
   
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -