?? main.c
字號:
//app.c
#include <includes.h>
#define TASK_STK_SIZE 128
#define TASK_START_PRIO 5
OS_STK AppStartTaskStk[TASK_STK_SIZE];
static void AppStartTask(void *p_arg);
/*********************************************************************************************************
*說明:main函數,主函數。
* 參數:無
* 返回值:無
********************************************************************************************************/
void main (void) {
INT8U err;
AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF; // 禁止所有中斷
OSInit(); // 初始化 uC/OS-II
OSTaskCreateExt(AppStartTask,
(void *)0,
(OS_STK *)&AppStartTaskStk[TASK_STK_SIZE-1],
TASK_START_PRIO,
TASK_START_PRIO,
(OS_STK *)&AppStartTaskStk[0],
TASK_STK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
/*
#if OS_TASK_NAME_SIZE > 11
OSTaskNameSet(TASK_START_PRIO, "Start Task", &err);
#endif
#if OS_TASK_NAME_SIZE > 14
OSTaskNameSet(OS_IDLE_PRIO, "uC/OS-II Idle", &err);
#endif
#if (OS_TASK_NAME_SIZE > 14) && (OS_TASK_STAT_EN > 0)
OSTaskNameSet(OS_STAT_PRIO, "uC/OS-II Stat", &err);
#endif
*/
OSStart(); // 啟動多任務
}
/*********************************************************************************************************
*說明:AppStartTask函數,用于任務。
* 參數:void *p_arg (參數由OSTaskCreate()傳遞給AppStartTask())
* 返回值:無
********************************************************************************************************/
static void AppStartTask (void *p_arg) {
INT8U i;
(void)p_arg;
CPU_Init(); // 初始化處理器指定塊
BSP_Init(); // 初始化 BSP 函數
#if OS_TASK_STAT_EN > 0
OSStatInit(); // 確定CPU性能
#endif
LED_Off(BSP_LED_ALL); // 熄滅所有 LED
while (TRUE) { // 任務體,總是寫成無窮循環
for (i = 1; i <= 4; i++) {
LED_On(i);
OSTimeDlyHMSM(0, 0, 0, 50);
LED_Off(i);
}
for (i = 1; i <= 4; i++) {
LED_On(5 - i);
OSTimeDlyHMSM(0, 0, 0, 50);
LED_Off(5 - i);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -