📄 main.c
字号:
#include"..\ucos-ii\includes.h" /* uC/OS interface */
#include "..\ucos-ii\add\osaddition.h"
#include "..\inc\drivers.h"
#include "..\inc\sys\lib.h"
#include "..\inc\drv\MCP2510.h"
//#include "..\inc\drv\OSFile.h"
#include <string.h>
#include "isr.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任务*************
#define SYS_Task_Prio 1
#define Touch_Screen_Task_Prio 11
#define Main_Task_Prio 12
#define Key_Scan_Task_Prio 58
#define Lcd_Fresh_prio 59
#define Led_Flash_Prio 60
***************************************/////////
/////////////////////////////////////////////////////
// Main function. //
////////////////////////////////////////////////////
extern U8 isConfigsysLoad;
extern U8 sysCONFIG[];
extern U32 ConfigSysdata[];
U16 Show[]={0x5de5,0x7a0b,0x673a,0x68b0,0x667a,0x80fd,0x76d1,0x63a7,0x5668,0};//工程机械智能监控器
U16 Show1[]={0x538b,0x529b,0x0031,0};//压力1
U16 Show2[]={0x538b,0x529b,0x0032,0};//压力2
U16 Show3[]={0x89d2,0x5ea6,0};//角度
U16 Show4[]={0x957f,0x5ea6,0};//长度
U16 Show5[]={0x91cd,0x91cf,0};//重量
U16 Show6[]={0x7535,0x538b,0};//电压
U16 Show7[]={0x83dc,0x5355,0};//菜单
U16 Show8[]={0x8c03,0x5ea6,0};//调度
U16 Show9[]={0x8bca,0x65ad,0};//诊断
U16 Show10[]={0x62a5,0x8b66,0};//报警
U16 data160[10],data161[10],data162[10],data163[10],data164[10],data165[10];
int main(void)
{
CPLDIO_INIT(); // As dast as we can now
ARMTargetInit(); // do target (uHAL based ARM system) initialisation //
LCD_Init();
OSInit(); // needed by uC/OS-II //
Flash_Reset();
if(Check_Flash_Id()!=KM29U128_ID) {
printk("\nKM29U128T is not found.\nStop!!!");
for(;;);
}
initOSDC();
initOSFile();
LoadFont();
initOSMessage();
OSTaskCreate(Main_Task, (void *)0, (OS_STK *)&Main_Stack[STACKSIZE*8-1], Main_Task_Prio);// 1
OSAddTask_Init();
InitRtc();
OSStart(); // start the OS //
// never reached //
return 0;
}//main
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Main_Task(void *Id) //Main_Test_Task
{
POSMSG pmsg;
char data;
double a0,a1,a2,a3,a4,a5;
char data0[10],data1[10],data2[10],data3[10],data4[10],data5[10];
int sum;
int i;
PDC pdc;
pdc=CreateDC();
LCD_ChangeMode(DspGraMode);
ClearScreen();
DrawRectFrame(pdc,1,0,319,239);
DrawRectFrame(pdc,1,0,319,25);
DrawRectFrame(pdc,1,25,319,213);
DrawRectFrame(pdc,246,25,319,239);
DrawRectFrame(pdc,80,38,160,54);
DrawRectFrame(pdc,80,68,160,84);
DrawRectFrame(pdc,80,98,160,114);
DrawRectFrame(pdc,80,128,160,144);
DrawRectFrame(pdc,80,158,160,174);
DrawRectFrame(pdc,80,188,160,204);
TextOut(pdc, 80, 5, Show, TRUE, FONTSIZE_MIDDLE);
TextOut(pdc,20,38,Show1,TRUE,FONTSIZE_MIDDLE);
TextOut(pdc,20,68,Show2,TRUE,FONTSIZE_MIDDLE);
TextOut(pdc,20,98,Show3,TRUE,FONTSIZE_MIDDLE);
TextOut(pdc,20,128,Show4,TRUE,FONTSIZE_MIDDLE);
TextOut(pdc,20,158,Show5,TRUE,FONTSIZE_MIDDLE);
TextOut(pdc,20,188,Show6,TRUE,FONTSIZE_MIDDLE);
TextOut(pdc,260,50,Show7,TRUE,FONTSIZE_MIDDLE);
TextOut(pdc,260,90,Show8,TRUE,FONTSIZE_MIDDLE);
TextOut(pdc,260,130,Show9,TRUE,FONTSIZE_MIDDLE);
TextOut(pdc,260,170,Show10,TRUE,FONTSIZE_MIDDLE);
for(;;){
sum=0;
a0=0;
for(i=0;i<=49;i++)
{
sum=sum+AD_GetResult(0);
OSTimeDly(1);
}
sum=sum/50;
a0=((double)sum)/1024*5;
sprintf(data0,"%.2f",a0);
strChar2Unicode(data160,data0);
TextOut(pdc,110,40,data160,TRUE,FONTSIZE_SMALL);
OSTimeDly(100);
sum=0;
a1=0;
for(i=0;i<=99;i++)
{
sum=sum+AD_GetResult(1);
OSTimeDly(1);
}
sum=sum/100;
a1=((double)sum)/1024*5;
sprintf(data1,"%.2f",a1);
strChar2Unicode(data161,data1);
TextOut(pdc,110,70,data161,TRUE,FONTSIZE_SMALL);
OSTimeDly(100);
sum=0;
a2=0;
for(i=0;i<=49;i++)
{
sum=sum+AD_GetResult(2);
OSTimeDly(1);
}
sum=sum/50;
a2=((double)sum)/1024*5;
sprintf(data2,"%.2f",a2);
strChar2Unicode(data162,data2);
TextOut(pdc,110,100,data162,TRUE,FONTSIZE_SMALL);
OSTimeDly(100);
sum=0;
a3=0;
for(i=0;i<=49;i++)
{
sum=sum+AD_GetResult(3);
OSTimeDly(1);
}
sum=sum/50;
a3=((double)sum)/1024*5;
sprintf(data3,"%.2f",a3);
strChar2Unicode(data163,data3);
TextOut(pdc,110,130,data163,TRUE,FONTSIZE_SMALL);
OSTimeDly(100);
sum=0;
a4=0;
for(i=0;i<=49;i++)
{
sum=sum+AD_GetResult(4);
OSTimeDly(1);
}
sum=sum/50;
a4=((double)sum)/1024*5;
sprintf(data4,"%.2f",a4);
strChar2Unicode(data164,data4);
TextOut(pdc,110,160,data164,TRUE,FONTSIZE_SMALL);
OSTimeDly(100);
sum=0;
a5=0;
for(i=0;i<=49;i++)
{
sum=sum+AD_GetResult(5);
OSTimeDly(1);
}
sum=sum/50;
a5=((double)sum)/1024*5;
sprintf(data5,"%.2f",a5);
strChar2Unicode(data165,data5);
TextOut(pdc,110,190,data165,TRUE,FONTSIZE_SMALL);
OSTimeDly(100);
DestoryDC(pdc);
}
for(;;)
{
OSTimeDly(10);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -