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

📄 main.c

📁 周立功ARM9 2410试验平台的uCOS-II基础实验代码
💻 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"

/*********************************************************************************************************
** 函数名称: GetDateTime
** 功能描述: 用户完成函数,获取当前的时间
**
** 输 入: Time  指向保存结果
**
** 输 出: 错误代码,RETURN_OK为正确
**         
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 陈明计
** 日 期: 2004年12月29日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
   uint8    GetDataTime(DATE_TIME *GetTime)
{
    unsigned int  da_year, da_mon, da_day, ti_hour, ti_min, ti_sec;

   
    OS_ENTER_CRITICAL();

    do
    {
        ti_sec = rBCDSEC & 0xff;
        ti_min = rBCDMIN & 0xff;
        ti_hour = rBCDHOUR & 0xff;
        da_day = rBCDDATE & 0xff;
        da_mon = rBCDMON & 0xff;
        da_year = 2000 + (rBCDYEAR & 0xff);

        ti_sec = ((ti_sec / 16) * 10) + (ti_sec % 16);
        ti_min = ((ti_min / 16) * 10) + (ti_min % 16);
        ti_hour = ((ti_hour / 16) * 10) + (ti_hour % 16);
        da_day = ((da_day / 16) * 10) + (da_day % 16);
        da_mon = ((da_mon / 16) * 10) + (da_mon % 16);    
  
        GetTime->ti_hund = 0;
        GetTime->ti_sec  = ti_sec;
        GetTime->ti_min  = ti_min;
        GetTime->ti_hour = ti_hour;
        GetTime->da_dow  = rBCDDAY & 0x07;
        GetTime->da_day  = da_day;
        GetTime->da_mon  = da_mon;
        GetTime->da_year = da_year;
    
        ti_sec = rBCDSEC & 0xff;
        ti_sec = ((ti_sec / 16) * 10) + (ti_sec % 16);
    } while (GetTime->ti_sec != ti_sec);
    
    OS_EXIT_CRITICAL();
    return RETURN_OK;
}


#define	TaskStkLengh	512	        //Define the Task0 stack length 定义用户任务0的堆栈长度
 
OS_STK	TaskStk[TaskStkLengh];		//Define the Task0 stack 定义用户任务0的堆栈

OS_STK	TaskFileStk [1024];		    //Define the FaleTask0 stack 定义文件系统任务0的堆栈

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

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




/*********************************************************************************************************
**                            main
********************************************************************************************************/
        int main (void)
{
    OSInit();																										
    OSTaskCreate(Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 60);		
    OSTaskCreate(OSFileTask, (void *)0, &TaskFileStk[1023], 3);
    OSStart();
    return 0;															
}



/*********************************************************************************************************
**                            Task0 任务0
********************************************************************************************************/
extern uint8 tcpipinit (void);
FFSDisk FFSDiskInfo[1];
uint8 FFSbuf[512];


const K9fXX08Hardware ChipInfo[1] = 
        {
            {
                FFSbuf, 
                512, 
                16, 
                32, 
                1024 * 4, 
                K9fxx08EmptyFunction, K9fxx08EmptyFunction
            }
        };

const FlashDriver FlashDriverInfo[1] = 
        {
            {
                512,
                32,
                1024 * 32,
                1024 * 4,
                FFSbuf, 
                (void *)ChipInfo, 
                (uint8 (*)(void *Index, void *Buf, uint32 Addr)) K9fxx08SectorRead,
                (uint8 (*)(void *Index, void *Buf, uint32 Addr)) K9fxx08SectCRead,
                (uint8 (*)(void *Index, void *Buf, uint32 Addr)) K9fxx08SectorProgram,
                (uint8 (*)(void *Index, void *Buf, uint32 Addr)) K9fxx08SectorCProgram,
                (uint8 (*)(void *Index, uint32 Addr)) K9fxx08BlockErase,
                //(uint8 (*)(void *Index, uint32 SourAddr, uint32 DestAddr)) K9fxx08SecCopy,
                (uint8 (*)(void *Index, uint32 BlockIndex)) K9fxx08BlockCheck,
                (uint8 (*)(void *Index, void *Buf, uint32 Addr)) K9fxx08SectorCheck,
                (uint8 (*)(void *Index, void *Buf, uint32 Addr)) K9fxx08SectCCheck
            }
        };

//uint32 Id;
		void Task0(void *pdata)
{
    pdata = pdata;

    
    TargetInit();

    FFSDiskInfo[0].Drive = &(FlashDriverInfo[0]);
    OSAddFileDriver(ZLG_FFS, FFSDiskInfo);	/*增加ATA设备0*/

    ZlgipInitial();
    InitFtp();

    OSTaskDel(OS_PRIO_SELF);
}
   
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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