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

📄 main.c

📁 ISP的调试程序
💻 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 + -