📄 main1.cpp
字号:
/****************************************Copyright (c)**************************************************
** Guangzou ZLG-MCU Development Co.,LTD.
** graduate school
** http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name: main.c
** Last modified Date: 2004-09-16
** Last Version: 1.0
** Descriptions: The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by: Chenmingji
** Created date: 2004-09-16
** Version: 1.0
** Descriptions: The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#include "LcdDriver_Spi_5408.h"
#include "Spi0_Driver.h"
#include "OutInt_2148.h"
#include "Tap_2046.h"
#include "RawWin.h"
#include "Firstwin.h"
#include "ThirdWin.h"
//#include "string.h"
/**********硬件设备声明*********/
Spi0_Driver Spi0; /*公用的SPI接口*/
OutInt_2148 OutInt1; /*2148的外部中断*/
LcdDriver_Spi_5408 Canvas;/*SPI接口的LCD驱动*/
Tap_2046 Tap; /*触摸屏设备**/
Firstwin Win; /*应用程序的主窗口*/
RawWin Win2; /*第二个窗口*/
ThirdWin Win3; /*第三个窗口*/
Full_KeyBoard KeyBoard; /*虚拟键盘实例*/
Manager WinManager ; /*窗口管理器*/
/************外部中断相应函数************/
void __irq IRQ_Eint1()
{
OutInt1.HardInt();
VICVectAddr = 0x00; /* 通知VIC中断处理结束 */
OutInt1.ClearInt();
}
int main (void)
{
/***********硬件驱动部分初时化***************/
/*******************************************/
/*初时化引脚选择和引脚功能***/
HARD_PINDIR();
HARD_PINSEL();
/*初时化SPI接口*/
/*无需设置,因为SPI是共享通道,不需要设定为固定值*/
/*初时化外部中断*/
OutInt1.SubDeviceName=Eint1;
OutInt1.WorkModel=Fall_Eage;
OutInt1.Father=&Tap;
OutInt1.Ini();
/*初始化Lcd的Canvas驱动*/
Canvas.Spi_Device=&Spi0;
Canvas.Ini();
// DelayNS(100000);
/*初时化触摸屏*/
Tap.OutInt=&OutInt1;
Tap.SupportDevice=&Spi0;
Tap.MinXAD=200; //设置触摸屏的特性参数
Tap.MinYAD=200;
Tap.MaxXAD=1900;
Tap.MaxYAD=1900;
Tap.ScrMaxY=320; //设置触摸屏大小参数
Tap.ScrMaxX=240;
Tap.X_Offset=5; //设置触摸屏修正参数,注意方向掉换后数值相反
Tap.Y_Offset=-0; //参数为百分比 范围为+-100
Tap.MirrowX=true;
Tap.MirrowY=true;
Tap.SwitchXY=false; //设置两轴交换
Tap.Ini();
/*初时化触摸键盘*/
KeyBoard.Left=10;
KeyBoard.Top=190;
KeyBoard.Cell_Height=22;
KeyBoard.Cell_Width=22;
KeyBoard.Row=5;
KeyBoard.Col=10;
KeyBoard.FontColor=Yellow;
KeyBoard.BackColor=Blue;
/*中断设置*/
VICVectCntl0 = 0x20 |(OutEintIrqBase+ Eint1); /* 设置外部中断0号中断通道分配最高优先级 */
VICVectAddr0 = (uint32)IRQ_Eint1; /* 设置中断服务程序地址 */
VICIntEnable=1<<(OutEintIrqBase+ Eint1);
IRQEnable();
VICIntSelect = 0x00; /* 所有中断通道设置为IRQ中断 */
/***************应用程序初时化***************/
/********************************************/
/*将Lcd 驱动实例传递给应用程序主窗口*/
// Win.IntRegister(&Canvas);//注册中断设备
// Win.Refresh();
/*将附加窗口加入主控制窗口*/
Win.WinForm2=&Win2;
Win.WinForm3=&Win3;
/*将窗口加入管理器*/
WinManager.ControlerRegister(&Win);
WinManager.ControlerRegister(&KeyBoard);
WinManager.ControlerRegister(&Win2);
WinManager.ControlerRegister(&Win3);
/*将设备加入管理器*/
WinManager.IntRegister(&Tap);
WinManager.IntRegister(&Canvas);
/*启动窗口服务*/
WinManager.Start();
while(1);
return 0;
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -