?? main.c
字號:
#include"..\ucos-ii\includes.h" /* uC/OS interface */
#include "..\ucos-ii\add\osaddition.h"
#include "..\inc\drv.h"
#include <string.h>
#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting
///******************任務定義***************///
OS_STK Main_Stack[STACKSIZE*8]={0, }; //Main_Test_Task堆棧
void Main_Task(void *Id); //Main_Test_Task
#define Main_Task_Prio 12
/**************已經定義的OS任務*************
tcp監控任務 11
以太網物理層監控任務 8
觸摸屏任務 9
鍵盤任務 10
lcd刷新任務 59
系統任務 1
*****************************************************/
///*****************事件定義*****************///
OS_EVENT *Nand_Rw_Sem; //Nand_Flash讀寫控制權旗語
//and you can use it as folloeing:
// Nand_Rw_Sem=OSSemCreate(1); //創建Nand-Flash讀寫控制權旗語,初值為1滿足互斥條件//
// OSSemPend(Nand_Rw_Sem,0,&err);
// OSSemPost(Nand_Rw_Sem);
OS_EVENT *Uart_Rw_Sem; //Uart讀寫控制權旗語
//and you can use it as folloeing:
// Uart_Rw_Sem=OSSemCreate(1); //創建Uart讀寫控制權旗語,初值為1滿足互斥條件//
// OSSemPend(Uart_Rw_Sem,0,&err);
// OSSemPost(Uart_Rw_Sem);
//////////////////////////////////////////////////////////
void initOSGUI() //初始化操作系統的圖形界面
{
initOSMessage();
initOSList();
initOSDC();
initOSCtrl();
initOSFile();
}
/////////////////////////////////////////////////////
// Main function. //
////////////////////////////////////////////////////
int main(void)
{
ARMTargetInit(); //開發板初始化
OSInit(); //操作系統初始化
uHALr_ResetMMU();//復位MMU
LCD_Init(); //初始化LCD模塊
LCD_printf("LCD initialization is OK\n");//向液晶屏輸出數據
LCD_printf("320 x 240 Text Mode\n");
initOSGUI();//初始化圖形界面
LoadFont();//調Unicode字庫
LoadConfigSys();//使用config.sys文件配置系統設置
LCD_printf("Create task on uCOS-II...\n");
OSTaskCreate(Main_Task, (void *)0, (OS_STK *)&Main_Stack[STACKSIZE*8-1], Main_Task_Prio);// 創建系統任務
OSAddTask_Init();//創建系統附加任務
LCD_printf("Starting uCOS-II...\n");
LCD_printf("Entering graph mode...\n");
LCD_ChangeMode(DspGraMode);//變LCD顯示模式為文本模式
InitRtc();//初始化系統時鐘
Nand_Rw_Sem=OSSemCreate(1); //創建Nand-Flash讀寫控制權旗語,初值為1滿足互斥條件//
OSStart();//操作系統任務調度開始
//不會執行到這里
return 0;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Main_Task(void *Id) //Main_Test_Task
{
LCD_ChangeMode(DspTxtMode);//轉換LCD顯示模式為文本顯示模式
LCD_Cls();//文本模式下清屏命令
LCD_printf("Hello world!\n");//向液晶屏輸出
Uart_Printf("Hello world!\n");//向串口輸出
//消息循環
for(;;)
{//死循環
OSTimeDly(200);//主任務掛起200毫秒
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -