📄 ucos_ii.c
字号:
/*
*********************************************************************************************************
* uC/OS-II
* The Real-Time Kernel
*
* (c) Copyright 1992-2005, Jean J. Labrosse, Weston, FL
* All Rights Reserved
*
* File : uCOS_II.C
* By : Jean J. Labrosse
* Version : V2.80
*********************************************************************************************************
*/
#define OS_GLOBALS /* Declare GLOBAL variables */
#include <ucos_ii.h>
#define OS_MASTER_FILE /* Prevent the following files from including includes.h */
#include <os_core.c>
#include <os_flag.c>
#include <os_mbox.c>
#include <os_mem.c>
#include <os_mutex.c>
#include <os_q.c>
#include <os_sem.c>
#include <os_task.c>
#include <os_time.c>
#include <OS_CPU_C.c>
#define Task0_Prio 1
#define Task1_Prio 2
#define TASK_STK_SIZE 1024
unsigned int TaskStk0[TASK_STK_SIZE];
unsigned int TaskStk1[TASK_STK_SIZE];
unsigned int free_mem_start;
void Task0(void * pParam)
{
static unsigned int cnt = 0;
while(1)
{
printf(".Task0 running(%ld).\n", cnt);
OSTimeDly(1);
cnt ++;
}
}
void Task1(void * pParam)
{
static unsigned int cnt = 0;
while(1)
{
printf(".Task1 running(%ld).\n", cnt);
OSTimeDly(1);
cnt ++;
}
}
int main(int argc, char **argv)
{
//此处使用的堆栈是系统在上电时设置的
printf(".OSInit\n");
OSInit();
// printf(".OSTaskCreate.\n");
OSTaskCreate(Task0, 0, &TaskStk0[TASK_STK_SIZE-1], Task0_Prio);
OSTaskCreate(Task1, 0, &TaskStk1[TASK_STK_SIZE-1], Task1_Prio);
OS_ENTER_CRITICAL();
install_isr_service(isr_service);
OS_EXIT_CRITICAL();
OSStart(); //start never return
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -