📄 e20_menu.c
字号:
break;
case 3 :
MDIPWriteChinese_String(0,cDOTLine1, "收音");
break;
default : break;
}
MDIPWriteChinese_String(0+8*4,cDOTLine1, "输出广播中");
MDIP_Menu_Quit(); //按"EXIT"返回
if (gLocal_2 == 5) MDIP_Menu_Volume(128-8*3-17*2,gLocal_1-1);
else MDIP_Menu_Volume(0+8*4,gLocal_1-1); //
return;
}
void MDIP_Play_Type(BYTE gLocal_1){
// 单曲单次播 gPlayTYPE = 1;
// 单曲循环播 gPlayTYPE = 2;
// 全部单次播 gPlayTYPE = 3;
// 全部循环播 gPlayTYPE = 4;
switch (gLocal_1){
case 1 : // 单曲单次播 gPlayTYPE = 1;
MDIPWriteChinese_String(64-16*3,cDOTLine1, "单曲单次播");
break;
case 2 :
MDIPWriteChinese_String(64-16*3,cDOTLine1, "单曲循环播");
break;
case 3 :
MDIPWriteChinese_String(64-16*3,cDOTLine1, "全部单次播");
break;
case 4 :
MDIPWriteChinese_String(64-16*3,cDOTLine1, "全部循环播");
break;
default : break;
}
return;
}
void MDIP_Menu_MP3_Music(BYTE gLocal_1,BYTE gLocal_2){
MDIP_Menu_Volume(128-8*3-17*2,gLocal_1); //光标1
FDIPReverse = 0;
if (gLocal_1 == 2) FDIPReverse = 1; //光标2
MDIP_Play_Type(gPlayTYPE);
gTAB_HourMinsecond[2] = mNumeration_DecToHex(gPlay_Second);
gTAB_HourMinsecond[1] = mNumeration_DecToHex(gPlay_Minute);
gTAB_HourMinsecond[0] = mNumeration_DecToHex(gPlay_Hour);
MDIP_SetupTime_List(0,cDOTLine3,0); //光标0无反白 1~6
if (gLocal_2 == 1) MDIPWriteChinese_String(128-8*3,cDOTLine1, "MP3");
else MDIPWriteChinese_String(128-17*2,cDOTLine1, "录音");
MDIPTrack_Name();
MDIP_Menu_Quit(); //按"EXIT"返回
return;
}
void MDIP_Menu_Volume(BYTE gLocal_Cursor,BYTE gLocal_1){
FDIPReverse = 0;
MDIPWriteChinese_String(gLocal_Cursor,cDOTLine3, "音量:");
if (gLocal_1 == 1) FDIPReverse = 1; //反白光标2(2-1,即1)
MDIPASCIIToScreen(gLocal_Cursor+17*2+7, cDOTLine3, gAUD_Volume/10+'0'); //将gLocal_2显示改为gMain_Volume
MDIPASCIIToScreen(gLocal_Cursor+17*2+7*2, cDOTLine3, gAUD_Volume%10+'0');//将gLocal_2显示改为gMain_Volume
return;
}
void MMDIP_Modify_Status(BYTE gLocal_Cursor,BYTE gLocal_Line,BYTE gLocal_1){
FDIPReverse = 1;
if (FPress_Enter_Modify){
if (gLocal_1 == 1) MDIPASCIIToScreen(gLocal_Cursor,gLocal_Line,'?');
else if (gLocal_1 == 2) MDIPASCIIToScreen(gLocal_Cursor+8*1,gLocal_Line,'?');
else if (gLocal_1 == 3) MDIPASCIIToScreen(gLocal_Cursor+8*3,gLocal_Line,'?');
else if (gLocal_1 == 4) MDIPASCIIToScreen(gLocal_Cursor+8*4,gLocal_Line,'?');
else if (gLocal_1 == 5) MDIPASCIIToScreen(gLocal_Cursor+8*6,gLocal_Line,'?');
else if (gLocal_1 == 6) MDIPASCIIToScreen(gLocal_Cursor+8*7,gLocal_Line,'?');
}
else {
FDIPReverse = 1;
++gCursorMove;
if (gMenuSelect == cMenu_Main01_Timer) MDIP_Menu_TimerList(gCursorMove);
else if (gMenuSelect == cMenu_Main02_OtherDay_List) MDIP_Menu_OtherDay_List(gCursorMove);
else if (gMenuSelect == cMenu_Main02_WeekList) MDIP_Menu_weekList(gCursorMove);
else if (gMenuSelect == cMenu_Main02_OtherDay) MDIP_Menu_OtherDay(gCursorMove);
}
return;
}
//此函数在更改后得出改后的变数gTAB_HourMinsecond[0]、gTAB_HourMinsecond[1]、gTAB_HourMinsecond[2]
//在此函数后面赋值
void MDecete_Modify_Time(BYTE gLocal_1,BYTE *PdpTab){
if (gLocal_1 == 1){
gBellLong_Max = 2;
gBellLong_Min = 0;
if (FPress_Enter_Modify) {
gBellLong = *PdpTab >> 4;
}
else {
*PdpTab = gBellLong * 16 + (*PdpTab & 0x0f);
if (*PdpTab > 0x23){
gBellLong_Max = 3;
gBellLong_Min = 0;
FPress_Enter_Modify = 1;
++gCursorMove;
}
}
}
else if (gLocal_1 == 2){
gBellLong_Max = 9;
gBellLong_Min = 0;
if (FPress_Enter_Modify) gBellLong = *PdpTab & 0x0f;
else {
*PdpTab = (*PdpTab & 0xf0)+ gBellLong;
if (*PdpTab > 0x23){
gBellLong = 1;
gBellLong_Max = 1;
gBellLong_Min = 0;
FPress_Enter_Modify = 1;
--gCursorMove;
}
}
}
else if (gLocal_1 == 3){
gBellLong_Max = 5;
gBellLong_Min = 0;
if (FPress_Enter_Modify) {
gBellLong = *(PdpTab+1) >> 4;
}
else *(PdpTab+1) = gBellLong * 16 + (*(PdpTab+1) & 0x0f);
}
else if (gLocal_1 == 4){
gBellLong_Max = 9;
gBellLong_Min = 0;
if (FPress_Enter_Modify) gBellLong = *(PdpTab+1) & 0x0f;
else *(PdpTab+1) = (*(PdpTab+1) & 0xf0)+ gBellLong;
}
else if (gLocal_1 == 5){
gBellLong_Max = 5;
gBellLong_Min = 0;
if (FPress_Enter_Modify) {
gBellLong = *(PdpTab+2) >> 4;
}
else *(PdpTab+2) = gBellLong * 16 + (*(PdpTab+2) & 0x0f);
}
else if (gLocal_1 == 6){
gBellLong_Max = 9;
gBellLong_Min = 0;
if (FPress_Enter_Modify) gBellLong = *(PdpTab+2) & 0x0f;
else *(PdpTab+2) = (*(PdpTab+2) & 0xf0)+ gBellLong;
}
return;
}
void MDecete_Modify_Date(BYTE gLocal_1){
if (gLocal_1 == 1){
gBellLong_Max = 9;
gBellLong_Min = 0;
if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[0] >> 4;
else gTAB_YearWeekDay[0] = gBellLong * 16 + (gTAB_YearWeekDay[0] & 0x0f);
}
else if (gLocal_1 == 2){
gBellLong_Max = 9;
gBellLong_Min = 0;
if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[0] & 0x0f;
else gTAB_YearWeekDay[0] = (gTAB_YearWeekDay[0] & 0xf0)+ gBellLong;
}
else if (gLocal_1 == 3){
gBellLong_Max = 1;
gBellLong_Min = 0;
if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[1] >> 4;
else {
gTAB_YearWeekDay[1] = gBellLong * 16 + (gTAB_YearWeekDay[1] & 0x0f);
if ((gTAB_YearWeekDay[1] == 0x00)||(gTAB_YearWeekDay[1] > 0x12)){
if (gTAB_YearWeekDay[1] == 0x00) gBellLong_Max = 9;
else gBellLong_Max = 2;
gBellLong_Min = 0;
FPress_Enter_Modify = 1;
++gCursorMove;
}
}
}
else if (gLocal_1 == 4){
gBellLong_Max = 9;
gBellLong_Min = 0;
if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[1] & 0x0f;
else {
gTAB_YearWeekDay[1] = (gTAB_YearWeekDay[1] & 0xf0)+ gBellLong;
if ((gTAB_YearWeekDay[1] == 0x00)||(gTAB_YearWeekDay[1] > 0x12)){
if (gBellLong > 1) gBellLong = 1;
gBellLong_Max = 1;
gBellLong_Min = 0;
FPress_Enter_Modify = 1;
--gCursorMove;
}
}
}
else if (gLocal_1 == 5){
gBellLong_Max = 3;
gBellLong_Min = 0;
if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[2] >> 4;
else {
gTAB_YearWeekDay[2] = gBellLong*16 +(gTAB_YearWeekDay[2] & 0x0f);
if ((gTAB_YearWeekDay[2] == 0x00)||(gTAB_YearWeekDay[2] > 0x31)){
if (gTAB_YearWeekDay[2] == 0x00) gBellLong_Max = 9;
else gBellLong_Max = 1;
gBellLong_Min = 0;
FPress_Enter_Modify = 1;
++gCursorMove;
}
}
}
else if (gLocal_1 == 6){
gBellLong_Max = 9;
gBellLong_Min = 0;
if (FPress_Enter_Modify) gBellLong = gTAB_YearWeekDay[2] & 0x0f;
else {
gTAB_YearWeekDay[2] = (gTAB_YearWeekDay[2] & 0xf0) + gBellLong;
if ((gTAB_YearWeekDay[2] == 0x00)||(gTAB_YearWeekDay[2] > 0x31)){
if (gBellLong > 3) gBellLong = 3;
gBellLong_Max = 3;
gBellLong_Min = 0;
FPress_Enter_Modify = 1;
--gCursorMove;
}
}
}
return;
}
//注意:MMDIP_Modify_Date()在改变系统时钟或时间时,显示MMDIP_Modify_Status必须在此函数后调用。
void MMDIP_Modify_Date(){
switch (gMenuSelect){
case cMenu_Main01_Timer :
////////////////////////////////////////////////////////////////////////////////////
//调日期时,星期跟着跳
if (gCursorMove < 7) {
MDecete_Modify_Date(gCursorMove);
MRTCWrite(cRTC_Year, gTAB_YearWeekDay[0]);
gRTC_Year = gTAB_YearWeekDay[0];
MDELAY(10);
if ((gTAB_YearWeekDay[1] != 0x00)&&(gTAB_YearWeekDay[1] < 0x13)){
MRTCWrite(cRTC_Month, gTAB_YearWeekDay[1]);
gRTC_Month = gTAB_YearWeekDay[1];
MDELAY(10);
}
if ((gTAB_YearWeekDay[2] != 0x00)&&(gTAB_YearWeekDay[2] < 0x32)){
MRTCWrite(cRTC_Day, gTAB_YearWeekDay[2]);
MDELAY(10);
gRTC_Day = gTAB_YearWeekDay[2];
}
}
else if (gCursorMove < 13) {
MDecete_Modify_Time(gCursorMove-6,gTAB_HourMinsecond);
if (gTAB_HourMinsecond[0] < 0x24){
MRTCWrite(cRTC_Hour, gTAB_HourMinsecond[0]);
gRTC_Hour = gTAB_HourMinsecond[0];
MDELAY(10);
}
if (gTAB_HourMinsecond[1] < 0x60){
MRTCWrite(cRTC_Minute, gTAB_HourMinsecond[1]);
gRTC_Minute = gTAB_HourMinsecond[1];
MDELAY(10);
}
if (gTAB_HourMinsecond[2] < 0x60){
MRTCWrite(cRTC_Second, gTAB_HourMinsecond[2]);
gRTC_Second = gTAB_HourMinsecond[2];
MDELAY(10);
}
}
else if (gCursorMove == 13){
if (!FPress_Enter_Modify) {
MRTCWrite(cRTC_Week, gBellLong);
gRTC_Week = gBellLong;
MDELAY(10);
}
}
//按确定时更新关于显示/保存日期
break;
case cMenu_Main02_OtherDay_List :
if (gCursorMove < 7){ //15
gTempNewBuffer[0] = gBroadcast[0];
gTempNewBuffer[1] = gBroadcast[1];
gTempNewBuffer[2] = gBroadcast[2];
MDecete_Modify_Time(gCursorMove,gBroadcast); //光标1~6 (内部,1.2.3,4,5,6)
if ((gBroadcast[0] != gTempNewBuffer[0])||(gBroadcast[1] != gTempNewBuffer[1])
||(gBroadcast[2] != gTempNewBuffer[2])) gEEPSureWrite = 0x03;
}
else if (gCursorMove < 13){
gTempNewBuffer[0] = gBroadcast[3];
gTempNewBuffer[1] = gBroadcast[4];
gTempNewBuffer[2] = gBroadcast[5];
MDecete_Modify_Time(gCursorMove-6,gBroadcast+3); //光标7~12 7-6(内部,1.2.3,4,5,6)
if ((gBroadcast[3] != gTempNewBuffer[0])||(gBroadcast[4] != gTempNewBuffer[1])
||(gBroadcast[5] != gTempNewBuffer[2])) gEEPSureWrite = 0x03;
}
break;
case cMenu_Main02_OtherDay :
if (gCursorMove < 3){
}
else if (gCursorMove < 7) MDecete_Modify_Date(gCursorMove); //光标3-2(内部,1.2.3,4,5,6)
break;
case cMenu_Main02_WeekList :
if (gCursorMove < 7) {
gTempNewBuffer[0] = gBroadcast[0];
gTempNewBuffer[1] = gBroadcast[1];
gTempNewBuffer[2] = gBroadcast[2];
MDecete_Modify_Time(gCursorMove,gBroadcast);//光标1~6 (内部,1.2.3,4,5,6)
if ((gBroadcast[0] != gTempNewBuffer[0])||(gBroadcast[1] != gTempNewBuffer[1])
||(gBroadcast[2] != gTempNewBuffer[2])) gEEPSureWrite = 0x03;
}
else if (gCursorMove < 13){
gTempNewBuffer[0] = gBroadcast[3];
gTempNewBuffer[1] = gBroadcast[4];
gTempNewBuffer[2] = gBroadcast[5];
MDecete_Modify_Time(gCursorMove-6,gBroadcast+3);//光标7~12 7-6(内部,1.2.3,4,5,6)
if ((gBroadcast[3] != gTempNewBuffer[0])||(gBroadcast[4] != gTempNewBuffer[1])
||(gBroadcast[5] != gTempNewBuffer[2])) gEEPSureWrite = 0x03;
}
//更改后的数处理
break;
default : break;
}
return;
}
void MBroadcastClear(){
BYTE gLocal_0 = 0;
do {
gBroadcast[gLocal_0] = 0;
} while (++gLocal_0 < 30);
FWeek_One = 1;
FWeek_Two = 1;
FWeek_Three = 1;
FWeek_Four = 1;
FWeek_Five = 1;
FWeek_Six = 1;
FWeek_Seven = 1;
return;
}
void MDIP_Menu_Program_ClearAddr(BYTE gLocal_1){
if (gMenuBroadcastBuffer == cMenu_Main02_Week){
FDIPReverse = 0;
if (gLocal_1 == 3) FDIPReverse = 1;
MDIPWriteChinese_String(64-16*3,cDOTLine1, "清");
MDIPChineseToScreen(64-16*2, cDOTLine1, cDIP_cu);
MDIPWriteChinese_String(64-16*1,cDOTLine1, "全周内容");
}
else {
FDIPReverse = 0;
if (gLocal_1 == 3) FDIPReverse = 1;
MDIPWriteChinese_String(64-16*3,cDOTLine1, "清");
MDIPChineseToScreen(64-16*2, cDOTLine1, cDIP_cu);
MDIPWriteChinese_String(64-16*1,cDOTLine1, "全部内容");
}
FDIPReverse = 0;
if (gLocal_1 == 1) FDIPReverse = 1;
MDIPWriteChinese_String(64-16*3,cDOTLine2, "清");
MDIPChineseToScreen(64-16*2, cDOTLine2, cDIP_cu);
MDIPWriteChinese_String(64-16*1,cDOTLine2, "此项内容");
FDIPReverse = 0;
if (gLocal_1 == 2) FDIPReverse = 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -