📄 main.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 + -