⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 44b0x在ucos下lcd液晶显示屏驱动测试程序(ads编译)
💻 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 + -