📄 main.c
字号:
/******************************************************************************************
* 目的:车系软件应用层前级选单
* 功能:运用底层的图标资源对车系外部菜单进行显示
并输出选择
* 模块依赖:Systemint.h
******************************************************************************************/
#include "Systemint.h"
#include "Mainmenu.h"
#include "LinkECU.h"
#include "DTC.h"
#include "Stream.h"
#include "main.h"
int main( void )
{
SysInit();
SystemMenu();
SysRelase();
return FAIL;
}
/*
**-------------------------------------------------------------------------------------
** 系统选单
**-------------------------------------------------------------------------------------
*/
char SystemMenu()
{
#ifdef DEBUGMODE
DebugString( "SysMenu()" );
#endif
unsigned char Rep = W_NULL; // 屏幕动作
// 菜单或图标声明
unsigned char *Menu[]=
{
"1.引擎系统"
};
unsigned char Startline = 0;
unsigned char Userline = 0;
unsigned char Maxl = 1;
// 屏幕初始化
ScreenInit( W_MENU );
AddMenu( Menu, Maxl );
while( Rep != W_RETURN ) //屏幕没有返回
{
// 屏幕动作
Rep = ScreenAct( &Startline, &Userline );
if( Rep == W_OK ) //按下OK
{
switch( UserRep() )
{
// 在这里添加选定功能
case 1:
SysID = ENGISO;
if( UserMes() )
{
TestMenu();
}
break;
//................................................................................
default:
break;
}
//重新装入屏幕
ScreenInit( W_MENU );
AddMenu( Menu, Maxl );
}
}
return SUCCESS;
}
/*
**-------------------------------------------------------------------------------------
** 用户提示信息
**-------------------------------------------------------------------------------------
*/
char UserMes()
{
#ifdef DEBUGMODE
DebugString( "UserMes()" );
#endif
return SUCCESS;
}
/*
**-------------------------------------------------------------------------------------
** 测试功能选单
**-------------------------------------------------------------------------------------
*/
char TestMenu()
{
#ifdef DEBUGMODE
DebugString( "TestMenu()" );
#endif
unsigned char Rep = 1; // 屏幕动作
// 菜单或图标声明
unsigned char *Menu[]=
{
"1.读取故障码",
"2.清除故障码",
"3.读取数据流"
};
unsigned char Startline = 0;
unsigned char Userline = 0;
unsigned char Maxl = 3;
unsigned char *WMenu[]=
{
"正在通讯连接",
"请等待.."
};
unsigned char WStartline = 0;
unsigned char WUserline = 0;
unsigned char WMaxl = 2;
unsigned char *SMenu[]=
{
"通讯连接失败!",
"[ NO ] 返回"
};
unsigned char SStartline = 0;
unsigned char SUserline = 0;
unsigned char SMaxl = 2;
unsigned char Error = 0;
// 通讯连接
ScreenInit( W_STAT );
AddMenu( WMenu, WMaxl );
ScreenAct( &WStartline, &WUserline );
if( !LinkECU() )
{
ScreenInit( W_STAT );
AddMenu( SMenu, SMaxl );
while( ScreenAct( &SStartline, &SUserline ) != W_RETURN );
return FAIL;
//连接失败
}
// 屏幕初始化
ScreenInit( W_MENU );
AddMenu( Menu, Maxl );
while( Rep )
{
//屏幕动作
Rep = ScreenAct( &Startline, &Userline );
if( Rep == W_OK ) //按下OK
{
switch( UserRep() )
{
// 在这里添加选定功能
case 1:
if( !ReadDTC() ) Rep = 0;
break;
case 2:
if( !ClrDTC() ) Rep = 0;
break;
case 3:
if( !Stream() ) Rep = 0;
break;
//................................................................................
default:
break;
}
//重新装入屏幕
ScreenInit( W_MENU );
AddMenu( Menu, Maxl );
if( !Rep ) Error = 1;
}
}
if( !Error )
{
RelaseECU();
}
TimeRelease();
SCIRelease();
return SUCCESS;
}
//----------------------------------------------------------------- End Of File --------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -