📄 main.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 + -