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

📄 main.c

📁 SmartARM2400系列开发板全套资料
💻 C
📖 第 1 页 / 共 2 页
字号:
/****************************************Copyright (c)****************************************************
**                         Guangzhou ZHIYUAN electronics Co.,LTD.                               
**                                     
**                               http://www.embedtools.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 "main.h"

/*********************************************************************************************************
  TASK0 任务ID、优先级、堆栈设置及函数声明                                
*********************************************************************************************************/
#define TASK0_ID            11                                          /* 任务的ID                     */
#define TASK0_PRIO          TASK0_ID                                    /* 任务的优先级                 */
#define TASK0_STACK_SIZE    512                                         /* 定义用户堆栈长度             */
OS_STK  TASK0_STACK[TASK0_STACK_SIZE];                                  /* 定义任务0 堆栈               */
void    TASK0(void *pdata);                                             /* 声明任务0                    */

/*********************************************************************************************************
  TASK1 任务ID、优先级、堆栈设置及函数声明                                
*********************************************************************************************************/
#define TASK1_ID            12                                          /* 任务的ID                     */
#define TASK1_PRIO          TASK1_ID                                    /* 任务的优先级                 */
#define TASK1_STACK_SIZE    512                                         /* 定义用户堆栈长度             */
OS_STK  TASK1_STACK[TASK1_STACK_SIZE];                                  /* 定义任务1 堆栈               */
void    TASK1(void *pdata);                                             /* 声明任务1                    */
/*********************************************************************************************************
  TASK2 任务ID、优先级、堆栈设置及函数声明                                
*********************************************************************************************************/   
#define TASK2_ID            13                                          /* 任务的ID                     */
#define TASK2_PRIO          TASK2_ID                                    /* 任务的优先级                 */
#define TASK2_STACK_SIZE    512                                         /* 定义用户堆栈长度             */
OS_STK  TASK2_STACK[TASK2_STACK_SIZE];                                  /* 定义任务2 堆栈               */
void    TASK2(void *pdata);                                             /* 声明任务2                    */
/*********************************************************************************************************
  TASK3 任务ID、优先级、堆栈设置及函数声明                                
*********************************************************************************************************/
#define TASK3_ID            14                                          /* 任务的ID                     */
#define TASK3_PRIO          TASK3_ID                                    /* 任务的优先级                 */
#define TASK3_STACK_SIZE    512                                         /* 定义用户堆栈长度             */
OS_STK  TASK3_STACK[TASK3_STACK_SIZE];                                  /* 定义任务3 堆栈               */
void    TASK3(void *pdata);                                             /* 声明任务3                    */
/*********************************************************************************************************
  TASK4 任务ID、优先级、堆栈设置及函数声明                                
*********************************************************************************************************/
#define TASK4_ID            15                                          /* 任务的ID                     */
#define TASK4_PRIO          TASK4_ID                                    /* 任务的优先级                 */
#define TASK4_STACK_SIZE    512                                         /* 定义用户堆栈长度             */
OS_STK  TASK4_STACK[TASK4_STACK_SIZE];                                  /* 定义任务3 堆栈               */
void    TASK4(void *pdata);                                             /* 声明任务3                    */

/*********************************************************************************************************
** Function name:       main
** Descriptions:        主函数
** Input parameters:    None
** output parameters:   None
** Created Date:        
*********************************************************************************************************/
int main (void)
{
	OSInit(); 
    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); 
    OSStart();    
    return 0;                                   
}
		
/*********************************************************************************************************
** Function name:       TASK0
** Descriptions:        None
** input parameters:    None
** output parameters:   None
*********************************************************************************************************/
char cUartArg[] = "BaudRate=9600 DataBits=8 StopBits=1 Parity=0 RtsControl=0";
uint8 uiConnectOk[]="Connect Successful!";

void TASK0 (void *pdata)
{


	pdata = pdata;	    

    TargetInit();      
    PCONP   |= (1<<3)|(1<<4)|(1<<24)|(1<<25);
	PINSEL0 =  (PINSEL0&0xffffff0f)|((0x01 << 4) | (0x01 << 6));	    /*  设置P0.2和P0.3连接到UART0   */
	PINSEL0 =  (PINSEL0&0x3fffffff)|(0x01 << 30);	                    /*  设置P0.15和P0.16连接到UART1 */
    PINSEL1 =  (PINSEL1&0xfffffffc)|(0x01 << 0);	
	PINSEL0 =  (PINSEL0&0xff0fffff)|(0x01 << 20) | (0x01 << 22);	    /*  设置P0.10和P0.11连接到UART2 */
	PINSEL0 =  (PINSEL0&0xfffffff0)|(0x02<<0)|(0x02<<2);                /*  设置P0.0和P0.1连接到UART3   */
	
    uartInit (UART0, cUartArg, NULL);                                   /*  初始化串口0                 */
    uartInit (UART1, cUartArg, NULL);                                   /*  初始化串口1                 */ 
    uartInit (UART2, cUartArg, NULL);                                   /*  初始化串口2                 */
    uartInit (UART3, cUartArg, NULL);                                   /*  初始化串口3                 */ 
     
    SetVICIRQ (6, 5, (uint32)uart0Isr);                                 /*  设置UART0中断               */
    SetVICIRQ (7, 6, (uint32)uart1Isr);                                 /*  设置UART1中断               */ 
    SetVICIRQ (28, 7, (uint32)uart2Isr);                                /*  设置UART2中断               */ 
    SetVICIRQ (29, 8, (uint32)uart3Isr);                                /*  设置UART3中断               */    

    uartWrite (UART0, uiConnectOk, sizeof(uiConnectOk), NULL);          /*  提示UART0连接成功           */
    uartWrite (UART1, uiConnectOk, sizeof(uiConnectOk), NULL);          /*  提示UART1连接成功           */
    uartWrite (UART2, uiConnectOk, sizeof(uiConnectOk), NULL);          /*  提示UART2连接成功           */
    uartWrite (UART3, uiConnectOk, sizeof(uiConnectOk), NULL);          /*  提示UART3连接成功           */
  	
	OSTaskCreateExt(TASK1,
                    (void *)0,
                    &TASK1_STACK[TASK1_STACK_SIZE-1],
                    TASK1_PRIO,
                    TASK1_ID,

⌨️ 快捷键说明

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