📄 main.c
字号:
/****************************************Copyright (c)****************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name: main.c
** Latest modified Date: 2007-11-19
** Latest Version: 1.0
** Descriptions: 用户程序主文件
**
**--------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2007-11-19
** Version: 1.0
** Descriptions: The original version
**
**--------------------------------------------------------------------------------------------------------
** Modified by: LinEnqiang
** Modified date: 2007-11-22
** Version: 1.0
** Descriptions: Used for MiniARM
**
*********************************************************************************************************/
#include "main.h" /* 用户头文件 */
#define TASK0_ID 11 /* 任务的ID */
#define TASK0_PRIO TASK0_ID /* 任务的优先级 */
#define TASK0_STACK_SIZE 512 /* 定义用户堆栈长度 */
#define TASK1_ID 12 /* 任务的ID */
#define TASK1_PRIO TASK1_ID /* 任务的优先级 */
#define TASK1_STACK_SIZE 512 /* 定义用户堆栈长度 */
#define TASK2_ID 13 /* 任务的ID */
#define TASK2_PRIO TASK2_ID /* 任务的优先级 */
#define TASK2_STACK_SIZE 512 /* 定义用户堆栈长度 */
#define TASK3_ID 14 /* 任务的ID */
#define TASK3_PRIO TASK3_ID /* 任务的优先级 */
#define TASK3_STACK_SIZE 512 /* 定义用户堆栈长度 */
OS_STK TASK0_STACK[TASK0_STACK_SIZE]; /* 任务0堆栈 */
OS_STK TASK1_STACK[TASK1_STACK_SIZE]; /* 任务1堆栈 */
OS_STK TASK2_STACK[TASK2_STACK_SIZE]; /* 任务2堆栈 */
OS_STK TASK3_STACK[TASK3_STACK_SIZE]; /* 任务3堆栈 */
void TASK0(void *pdata); /* 任务0声明 */
void TASK1(void *pdata); /* 任务1声明 */
void TASK2(void *pdata); /* 任务2声明 */
void TASK3(void *pdata); /* 任务3声明 */
#ifndef __USE_CF
#define __USE_CF 0 /* CF卡功能使能宏 */
#endif /* __USE_CF */
#ifndef __SNFLASH
#define __SNFLASH 0 /* SNORFLASH功能使能宏 */
#endif /* __SNFLASH */
#ifndef __USE_TCP
#define __USE_TCP 0 /* 以太网功能使能宏 */
#endif /* __USE_TCP */
#if __USE_TCP
unsigned char GucMCU_Ip[4] = {192, 168, 1, 10}; /* 本机IP设置 */
unsigned char GucMCU_Gateway[4] = {192, 168, 1, 254}; /* 本机网关设置 */
unsigned char GucMCU_Mark[4] = {255, 255, 255, 0}; /* 本机子网掩码设置 */
unsigned char GucMCU_Dns[4] = {192, 168, 1, 115}; /* DNS服务器IP设置 */
unsigned short GusMCU_Port = 2020; /* 本机端口设置 */
unsigned char GucPeer_IP[4] = {192,168,1,125}; /* PC机端IP设置 */
unsigned short GusPeer_Port = 8080; /* PC机端口设置 */
#endif /* __USE_TCP */
/*********************************************************************************************************
** Function name: main
** Descriptions: 用户程序主函数
** input parameters: none
** output parameters: none
** Returned value: 没有使用
** Created by:
** Created Date:
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
#if __SNFLASH
unsigned int GucSnorBuf[10 * 1024 / sizeof(unsigned int)]; /* 串行Flash驱动Buf */
FFS_PARAM ffsParam; /* 串行Flash驱动参数 */
#endif /* __SNFLASH */
#if __USE_CF
INT8U GucDevice; /* CF卡主从选择 */
#endif /* __USE_CF */
int main (void)
{
TargetInit();
PinInit();
#if (__USE_CF || __SNFLASH)
FileInit(); /* 初始化文件系统 */
#endif
#if __USE_CF
GucDevice = 0;
AddFileDriver(GetCFCommand(), &GucDevice); /* 安装文件系统驱动 */
#endif
#if __SNFLASH
ffsParam.liReserveLen = 512 * 1024;
ffsParam.liFileSystemSize = (4096 * 512) - (512 * 1024);
ffsParam.iFlashBlockNum = 512;
ffsParam.iFlashDrvNo = 0;
ffsParam.pvHeapMem = GucSnorBuf;
ffsParam.ulHeapSize = 1024 * 10;
#if 0
snorDevLowFormat(&ffsParam); /* 格式化串行Flash */
#endif
AddFileDriver(GetSnorDevCommand(), &ffsParam); /* 安装文件系统驱动 */
#endif
#if __USE_TCP /* 获得网络设置 */
//GetIpSet(GucMCU_Ip); /* 获得固化 IP 设置 */
//GetMarkSet(GucMCU_Mark);
//GetGateWaySet(GucMCU_Gateway);
//GetDNSSet(GucMCU_Dns);
//GusMCU_Port = GetPortSet();
//GetServerIpSet(GucPeer_IP); /* 获得固化 Server IP 设置 */
//GusPeer_Port = GetServerPortSet(); /* 获得固化 Server 端口 设置 */
ZlgipInitial(GucMCU_Ip, GucMCU_Gateway, GucMCU_Mark, GucMCU_Dns); /* ZLG/IP协议栈初始化 */
#endif
OSTaskCreateExt(TASK0,
(void *)0,
&TASK0_STACK[TASK0_STACK_SIZE-1],
TASK0_PRIO,
TASK0_ID,
&TASK0_STACK[0],
TASK0_STACK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
OSTaskCreateExt(TASK1,
(void *)0,
&TASK1_STACK[TASK1_STACK_SIZE-1],
TASK1_PRIO,
TASK1_ID,
&TASK1_STACK[0],
TASK1_STACK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
OSTaskCreateExt(TASK2,
(void *)0,
&TASK2_STACK[TASK2_STACK_SIZE-1],
TASK2_PRIO,
TASK2_ID,
&TASK2_STACK[0],
TASK2_STACK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
OSTaskCreateExt(TASK3,
(void *)0,
&TASK3_STACK[TASK3_STACK_SIZE-1],
TASK3_PRIO,
TASK3_ID,
&TASK3_STACK[0],
TASK3_STACK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
while (1) {
OSTimeDly(OS_TICKS_PER_SEC);
}
return 0;
}
/*********************************************************************************************************
** Function name: TASK0
** Descriptions:
** input parameters: no use
** output parameters: none
** Returned value: none
** Created by:
** Created Date:
** Descriptions:
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void TASK0 (void *pdata)
{
pdata = pdata;
while(1) {
OSTimeDly(OS_TICKS_PER_SEC/2);
}
}
/*********************************************************************************************************
** Function name: TASK1
** Descriptions:
** input parameters: no use
** output parameters: none
** Returned value: none
** Created by:
** Created Date:
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void TASK1 (void *pdata)
{
pdata = pdata;
while (1) {
OSTimeDly(OS_TICKS_PER_SEC/2);
}
}
/*********************************************************************************************************
** Function name: TASK2
** Descriptions:
** input parameters: no use
** output parameters: none
** Returned value: none
** Created by:
** Created Date:
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void TASK2 (void *pdata)
{
pdata = pdata;
while (1) {
OSTimeDly(OS_TICKS_PER_SEC/2);
}
}
/*********************************************************************************************************
** Function name: TASK3
** Descriptions:
** input parameters: no use
** output parameters: none
** Returned value: none
** Created by:
** Created Date:
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void TASK3 (void *pdata)
{
pdata = pdata;
while (1) {
GpioClr(P1_28);
OSTimeDly(OS_TICKS_PER_SEC / 10);
GpioSet(P1_28);
OSTimeDly(OS_TICKS_PER_SEC / 10);
}
}
/*********************************************************************************************************
END OF FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -