📄 main.c
字号:
/*
***************************************************************************************
*
* (c) Copyright 2006-2008, hui lian. luo, china, zj. hz
* All Rights Reserved
*
* 深圳市英蓓特信息技术有限公司
* http://www.embedinfo.com
* 博格达科技有限公司
* http://www.bogodtech.com
*
*--------------文件信息-----------------------------------------------------------------
* 文 件 名: main.c
* 创 建 人: 罗辉联(wyuyun@hotmail.com, lhlzjut@hotmail.com, armgcc@foxmail.com)
* 创建日期: 2007年11月10日
* 描 述: 主程序C语言入口, uC/OS-II启动
* 技术顾问: 楼东武(副教授) 浙江大学信电系
*
*---------- 版本信息-------------------------------------------------------------------
* 版 本: V1.0
*
*--------------------------------------------------------------------------------------
****************************************************************************************
*/
/*
****************************************************************************************
* Includes
****************************************************************************************
*/
#include "config.h"
/*
****************************************************************************************
* Private define: TASK PRIORITIES
****************************************************************************************
*/
#define OS_TASK_INIT_PRIO 1
/*
****************************************************************************************
* Private define: TASK STACK SIZES
****************************************************************************************
*/
#define OS_INIT_TASK_STACK_SIZE 64 /* 初始化任务堆栈大小 */
/*
****************************************************************************************
* Private variables
****************************************************************************************
*/
OS_STK InitTaskStk[OS_INIT_TASK_STACK_SIZE]; /* 初始化任务堆栈 */
/*
****************************************************************************************
* Private function prototypes
****************************************************************************************
*/
static void application_init (void);
static void init_task_core(void *pdata);
/***************************************************************************************
** 函数名称: main
** 功能描述: C入口函数
** 参 数: None
** 返 回 值: None
** 作 者: 罗辉联
** 日 期: 2007年11月28日
**--------------------------------------------------------------------------------------
** 修 改 人:
** 日 期:
**--------------------------------------------------------------------------------------
****************************************************************************************/
int main(void)
{
#if (OS_TASK_NAME_SIZE >= 16)
INT8U err;
#endif
Target_Init(); /* 目标基本初始化 */
OSInit(); /* 初始化OS */
Tmr_TickInit(); /* 初始化OS Tick */
OSTaskCreateExt(init_task_core, (void *)0, (OS_STK *)&InitTaskStk[OS_INIT_TASK_STACK_SIZE - 1],
OS_TASK_INIT_PRIO,
OS_TASK_INIT_PRIO,
(OS_STK *)&InitTaskStk[0],
OS_INIT_TASK_STACK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#if (OS_TASK_NAME_SIZE >= 16)
OSTaskNameSet(OS_TASK_IDLE_PRIO, (INT8U *)"Idle task", &err);
OSTaskNameSet(OS_TASK_INIT_PRIO, (INT8U *)"Init task", &err);
#endif
OSStart(); /* 启动多任务环境 */
return(0);
}
/***************************************************************************************
** 函数名称: init_task_core
** 功能描述: 初始化任务核心函数:(1) 初始化应用 (2) 初始化操作系统组件
** 参 数: *pdata
** 返 回 值: None
** 作 者: 罗辉联
** 日 期: 2007年11月28日
**--------------------------------------------------------------------------------------
** 修 改 人:
** 日 期:
**--------------------------------------------------------------------------------------
****************************************************************************************/
static void init_task_core(void *pdata)
{
pdata = pdata; /* 防止编译器警告 */
application_init();
create_os_task(); /* 创建应用中的大多数任务 */
create_task_status(); /* 设置初始化状态需要挂起的任务 */
create_os_semphore(); /* 创建应用中的大多数信号量 */
create_os_mutex(); /* 创建应用中的大多数互斥量 */
create_os_mailbox(); /* 创建应用中的大多数邮箱消息 */
create_os_queue();
create_os_timer();
mem_init(); /* 创建应用中的大多数内存分区 */
Wdg_Init(); /* 窗口看门狗初始化 */
while(1)
{
printf("STM3201 SDK, multi task start running!\n");
OSTaskSuspend(OS_PRIO_SELF); /* 挂起初始化任务 */
}
}
/***************************************************************************************
** 函数名称: application_init
** 功能描述: 基本应用初始化
** 参 数: None
** 返 回 值: None
** 作 者: 罗辉联
** 日 期: 2007年11月28日
**--------------------------------------------------------------------------------------
** 修 改 人:
** 日 期:
**--------------------------------------------------------------------------------------
****************************************************************************************/
static void application_init (void)
{
UART_onfiguration();
Buzzer_Configuration();
LED_Configuration();
kpd_init();
SPI_Config();
}
/***************************** http://www.bogodtech.com ***********************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -