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

📄 main.c

📁 IAR for ARM
💻 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:             Kang qinhua 
** Modified date:           2008.01.02   
** Version:                 v1.1
** Description:             The second version 第二版            
**
*********************************************************************************************************/

#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];                       /*  蜂鸣器控制任务的堆栈               */

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

/*********************************************************************************************************
** Function name:           main	   
** Descriptions:            该范例程序使用uC/OS做简单任务去控制蜂鸣器发声,以掌握uC/OS-II创建任务程序的编写.	
** input parameters:        无
** output parameters:       无      
** Returned value:          0	 
** Created by:		    任海波
** Created Date:	    2008.7.16
**--------------------------------------------------------------------------------------------------------
** 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   */
                                                                        /*  初始化启动任务              */				     

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

    return(0);
}


/*********************************************************************************************************
** Function name:           taskStart	   
** Descriptions:            task start	
** input parameters:        *parg
** output parameters:       无      
** Returned value:          无 
** Created by:	            Steven Zhou 周绍刚
** Created Date:	    2007.01.18
**--------------------------------------------------------------------------------------------------------
** Modified by:         
** Modified date:         
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
static void taskStart (void  *parg)
{
    (void)parg;

    targetInit();                                                       /*  Initialize the target's MCU */
                                                                        /*  初始化目标单片机            */

    #if OS_TASK_STAT_EN > 0
    OSStatInit();                                                       /*  Enable statistics           */
                                                                        /*  使能统计功能                */
    #endif
    
    /*
     *  Create the other tasks here. 在这里创建其他任务
     */
    OSTaskCreate (taskBuzzer, (void *)0,   		
	          &GstkBuzzer[TASK_BUZZER_STK_SIZE - 1], 
	          TASK_BUZZER_PRIO);                                       /*  初始化taskLed任务           */ 

    while (1) {                             
        OSTaskSuspend(OS_PRIO_SELF);                                    /*  The start task can be pended*/                                                                        /*  here. 启动任务可在这里挂起  */
    }
}


/*********************************************************************************************************
  The other tasks 其他任务
*********************************************************************************************************/
/*
 *  Add the other tasks here . 在这里增加其他任务
 */

/*********************************************************************************************************
** Function name:           taskBuzzer   
** Descriptions:            蜂鸣器控制任务	
** input parameters:        *parg
** output parameters:       无      
** Returned value:          无	 
** Created by:		    任海波
** Created Date:	    2008.7.16
**--------------------------------------------------------------------------------------------------------
** Modified by:             
** Modified date:           
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
static  void  taskBuzzer (void  *parg)
{
   (void)parg;
    while (1) {
        BuzzerSound(400);                                           //  蜂鸣器发出400Hz声音
        OSTimeDlyHMSM(0,0,0,350);                                   //  延时约350ms
        
        BuzzerSound(800);                                           //  蜂鸣器发出800Hz声音
        OSTimeDlyHMSM(0,0,0,650);                                   //  延时约650ms
        
        BuzzerOff();                                                //  蜂鸣器停止发音
        OSTimeDlyHMSM(0,0,0,600);                                   //  延时约600ms
    }
}

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

⌨️ 快捷键说明

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