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

📄 main.c

📁 ZLG 基于群星Cortex-M3的μCOS-II移植模板的使用 (IAR)
💻 C
字号:
/****************************************Copyright (c)****************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File Name:               Main.c
** Last modified Date:      2007.12.12
** Last Version:            v1.0
** Description:             The main function example template  主函数例子模版
** 
**--------------------------------------------------------------------------------------------------------
** Created By:              Steven Zhou 周绍刚
** Created date:            2007.12.12
** Version:                 v1.0
** Descriptions:            The original version 初始版本
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             Hu Xin 胡鑫
** Modified date:           2008.12.03
** Version:                 v1.1
** Description:             The Example Template for EasyARM1138 EasyARM1138模板
**
*********************************************************************************************************/

#include <includes.h>


/*********************************************************************************************************
  CONSTANTS 常量
*********************************************************************************************************/


/*********************************************************************************************************
  VARIABLES 变量
*********************************************************************************************************/
static OS_STK  GstkStart[TASK_START_STK_SIZE];                              /*  The stack of Start task */
                                                                            /*  启动任务的堆栈          */
static OS_STK  GstkBuzzer[TASK_BUZZER_STK_SIZE];                            /*  The stack of Other task */
                                                                            /*  启动其他的堆栈          */


/*********************************************************************************************************
   FUNCTION PROTOTYPES 函数声明
*********************************************************************************************************/
static void taskStart (void  *parg);                                    /*  The start task  启动任务    */
static void taskBuzzer (void  *parg);                                   /*  The other task  其他任务    */


/*********************************************************************************************************
** Function name:           main
** Descriptions:            初始化系统和任务
** input parameters:        无
** output parameters:       无
** Returned value:          0
** Created by:		    Steven Zhou 周绍刚
** Created Date:	    2007.12.12
**--------------------------------------------------------------------------------------------------------
** Modified by:         
** Modified date:         
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
int main (void)
{
    OSInit();                                                           /*  Initialize the kernel of uC */
                                                                        /*  OS-II 初始化uC/OS-II的内核  */

    OSTaskCreate( taskStart,                                          
		  (void *)0, 
		  &GstkStart[TASK_START_STK_SIZE-1], 
		  TASK_START_PRIO );                                    /*  Initialize the start task   */
                                                                        /*  初始化启动任务              */				     
        
    OSTaskCreate( taskBuzzer,                                          
		  (void *)0, 
		  &GstkBuzzer[TASK_BUZZER_STK_SIZE-1], 
		  TASK_BUZZER_PRIO );                                   /*  Initialize the other task   */
                                                                        /*  初始化其他任务              */				     

    
    OSStart();                                                          /*  Start uC/OS-II  启动uC/OS-II*/

    return(0);
}


/*********************************************************************************************************
** Function name:           Task_Start
** Descriptions:            流水LED闪烁
** input parameters:        *parg
** output parameters:       无
** Returned value:          无
** Created by:	            Hu Xin 胡鑫
** Created Date:	    2008.12.03
**--------------------------------------------------------------------------------------------------------
** Modified by:         
** Modified date:         
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
static void taskStart (void  *parg)
{
    (void)parg;

    targetInit();                                                       /*  Initialize the target's MCU */
                                                                        /*  初始化目标单片机            */        
    while(1)
    {
        ledOff(2);                                                      /*  熄灭Led2                    */
        ledOn(1);                                                       /*  点亮Led1                    */
        ledOn(3);                                                       /*  点亮Led3                    */
        OSTimeDlyHMSM(0, 0, 0, 300);                                    /*  延时300ms                   */
        ledOff(1);                                                      /*  熄灭Led1                    */
        ledOff(3);                                                      /*  熄灭Led3                    */
        ledOn(2);                                                       /*  点亮Led2                    */
        OSTimeDlyHMSM(0, 0, 0, 300);                                    /*  延时300ms                   */
    }
}


/*********************************************************************************************************
** Function name:           Task_Buzzer
** Descriptions:            按键控制蜂鸣器
** input parameters:        *parg
** output parameters:       无
** Returned value:          无
** Created by:	            Hu Xin 胡鑫
** Created Date:	    2008.12.03
**--------------------------------------------------------------------------------------------------------
** Modified by:         
** Modified date:         
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
static void taskBuzzer (void  *parg)
{
    (void)parg;

    while(1)
    {
        OSTimeDlyHMSM(0, 0, 0, 100);                                    /*  扫描周期100ms               */
        switch(keyRead())                                               /*  读按键值                    */
        {
        case 0xFE:                                                      /*  只有Key1按下                */
            buzzerSound(1000);                                          /*  蜂鸣器以1000Hz频率发声      */
            OSTimeDlyHMSM(0, 0, 0, 550);                                /*  延时550ms                   */
            buzzerQuiet();                                              /*  关闭蜂鸣器,停止发声        */
            break;
        case 0xFD:                                                      /*  只有Key2按下                */
            buzzerSound(1500);                                          /*  蜂鸣器以1500Hz频率发声      */
            OSTimeDlyHMSM(0, 0, 0, 550);                                /*  延时550ms                   */
            buzzerQuiet();                                              /*  关闭蜂鸣器,停止发声        */
            break;
        default:
            break;
        }
    }
}


/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

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