📄 adjust.c
字号:
/**************************************************************************
Adjust Operation
File Name: Adjust.c
Author: Lin Qian
Created: 2008/04/28
Modified: NO
Revision: 1.0
***************************************************************************/
#define __ADJUST
#include "INC\\main.h"
#undef __ADJUST
// 装载默认值 ******************************
#if LoadDefault_en
void LoadDefault (void)
{
if( MenuMode == MENU_MAIN ) // 本操作只在主画面下调用
{
Dist = 0; // 里程数清零
Total = 0; // 总价清零
// 停车计时清零
StopSec = 0;
StopMin = 0;
StopHour = 0;
// 实时时钟装载默认值
ClockHour = CLOCK_HOUR;
ClockMin = CLOCK_MIN;
ClockSec = CLOCK_SEC;
SaveRTC(); // 将默认实时时钟写入EEPROM
// 单价装载默认值
DayPrice = DAY_PRICE; // 白天单价(默认)
NightPrice = NIGHT_PRICE; // 夜晚单价(默认)
SavePrice();
LoadMenu_Main(); // 装载主画面
}
}
#endif
// "+"操作 ******************************
#if Plus_en
void Plus (void)
{
switch( MenuMode ) // 根据画面模式选择相应的"+"操作
{
case MENU_ADJUST_DAY_PRICE: // 调整白天单价
DayPrice++;
if( DayPrice >= 1000 ) // 单价限制在$0~99.9
DayPrice = 0;
break;
case MENU_ADJUST_NIGHT_PRICE: // 调整夜晚单价
NightPrice++;
if( NightPrice >= 1000 ) // 单价限制在$0~99.9
NightPrice = 0;
break;
case MENU_ADJUST_CLOCK_HOUR: // 调整实时时钟Hour
ClockHour++;
if( ClockHour >= 24 ) // 实时时钟Hour限制在$0~23
ClockHour = 0;
break;
case MENU_ADJUST_CLOCK_MIN: // 调整实时时钟Min
ClockMin++;
if( ClockMin >= 60 ) // 实时时钟Min限制在$0~59
ClockMin = 0;
break;
default: break;
}
}
#endif
// "-"操作 ******************************
#if Minus_en
void Minus (void)
{
switch( MenuMode ) // 根据画面模式选择相应的"-"操作
{
case MENU_ADJUST_DAY_PRICE: // 调整白天单价
DayPrice--;
if( DayPrice >= 1000 ) // 单价限制在$0~99.9
DayPrice = 999;
break;
case MENU_ADJUST_NIGHT_PRICE: // 调整夜晚单价
NightPrice--;
if( NightPrice >= 1000 ) // 单价限制在$0~99.9
NightPrice = 999;
break;
case MENU_ADJUST_CLOCK_HOUR: // 调整实时时钟Hour
ClockHour--;
if( ClockHour >= 24 ) // 实时时钟Hour限制在$0~23
ClockHour = 23;
break;
case MENU_ADJUST_CLOCK_MIN: // 调整实时时钟Min
ClockMin--;
if( ClockMin >= 60 ) // 实时时钟Min限制在$0~59
ClockMin = 59;
break;
default: break;
}
}
#endif
// 确定操作 ******************************
#if Confirm_en
void Confirm (void)
{
switch( SysStatus ) // 根据当前系统状态选择确认操作
{
case ADJUST_DAY_PRICE: // 调整白天价格
case ADJUST_NIGHT_PRICE: // 调整夜晚价格
SavePrice(); // 存储单价
break;
case ADJUST_CLOCK_HOUR: // 调整实时时钟Hour
// 存储实时时钟Hour
x24c02_Write(X24C02_0, EEPROM_CLOCK_HOUR, ClockHour);
DelayXms(5);
break;
case ADJUST_CLOCK_MIN: // 调整实时时钟Min
// 存储实时时钟Min
x24c02_Write(X24C02_0, EEPROM_CLOCK_MIN, ClockMin);
DelayXms(5);
break;
default: break;
}
SysStatus = lastSysStatus; // 恢复系统状态
MenuMode = MENU_MAIN; // 回主画面
}
#endif
// 调整实时时钟Hour ******************************
#if AdjustClockHour_en
void AdjustClockHour (void)
{
if( SysStatus != ADJUST_CLOCK_HOUR )
{
// 更改系统状态
if( MenuMode == MENU_MAIN ) // 只有当从主画面切换时, 才更新前一系统状态
lastSysStatus = SysStatus;
SysStatus = ADJUST_CLOCK_HOUR;
// 更改画面模式
// lastMenuMode = MenuMode;
MenuMode = MENU_ADJUST_CLOCK_HOUR;
}
}
#endif
// 调整实时时钟Min ******************************
#if AdjustClockMin_en
void AdjustClockMin (void)
{
if( SysStatus != ADJUST_CLOCK_MIN )
{
// 更改系统状态
if( MenuMode == MENU_MAIN ) // 只有当从主画面切换时, 才更新前一系统状态
lastSysStatus = SysStatus;
SysStatus = ADJUST_CLOCK_MIN;
// 更改画面模式
// lastMenuMode = MenuMode;
MenuMode = MENU_ADJUST_CLOCK_MIN;
}
}
#endif
// 调整白天单价 ******************************
#if AdjustDayPrice_en
void AdjustDayPrice (void)
{
if( SysStatus != ADJUST_DAY_PRICE )
{
// 更改系统状态
if( MenuMode == MENU_MAIN ) // 只有当从主画面切换时, 才更新前一系统状态
lastSysStatus = SysStatus;
// 更改画面模式
SysStatus = ADJUST_DAY_PRICE;
MenuMode = MENU_ADJUST_DAY_PRICE;
}
}
#endif
// 调整夜晚单价 ******************************
#if AdjustNightPrice_en
void AdjustNightPrice (void)
{
if( SysStatus != ADJUST_NIGHT_PRICE )
{
// 更改系统状态
if( MenuMode == MENU_MAIN ) // 只有当从主画面切换时, 才更新前一系统状态
lastSysStatus = SysStatus;
SysStatus = ADJUST_NIGHT_PRICE;
// 更改画面模式
// lastMenuMode = MenuMode;
MenuMode = MENU_ADJUST_NIGHT_PRICE;
}
}
#endif
//************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -