📄 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键盘任务 10lcd刷新任务 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 + -