📄 e20_dis.c
字号:
gDIP_Number = gTrackNameLength;
gDIPTrack_Name = 1;
gTrackNameLength = 0;
}
return;
}
/* 函数功能为回传长度为4字节指令,即字节A为0x04,0x04/字节B/字节C/字节D */
BYTE mNumeration_DecToHex(BYTE gLocal_01){
BYTE gLocal_02;
gLocal_02 = (gLocal_01/10)*16+gLocal_01%10; //将十进制两位数变成十六进制的两位数
return gLocal_02;
}
/*********************************************************************************/
void MRTCRead(){
BYTE gLocal_1;
MI2CStart();
MI2CWrite(cRTC_I2CWrite);
MI2CWrite(0x00);
MI2CStop();
MI2CStart();
MI2CWrite(cRTC_I2CRead);
MI2CRead();
gLocal_1 = MI2CRead();
if (gLocal_1 != gRTC_Second){
FRTCSecond = 1;
gRTC_Second = 0x00;
if (gLocal_1 < 0x60) gRTC_Second = gLocal_1;
gLocal_1 = MI2CRead();
gRTC_Minute = 0x00;
if (gLocal_1 < 0x60) gRTC_Minute = gLocal_1;
gLocal_1 = MI2CRead();
gRTC_Hour = 0x00;
if (gLocal_1 < 0x24) gRTC_Hour = gLocal_1;
gLocal_1 = MI2CRead();
gRTC_Week = 0x01;
if ((gLocal_1 < 0x08)&& (gLocal_1 != 0)) gRTC_Week = gLocal_1;
gLocal_1 = MI2CRead();
gRTC_Day = 0x01;
if ((gLocal_1 == 0x00) || (gLocal_1 > 0x32)) MRTCWrite(cRTC_Day, gRTC_Day);
else if (gLocal_1 < 0x32) gRTC_Day = gLocal_1;
gLocal_1 = MI2CRead();
gRTC_Month = 0x01;
if ((gLocal_1 == 0x00) || (gLocal_1 > 0x13)) MRTCWrite(cRTC_Month, gRTC_Month);
else if (gLocal_1 < 0x13) gRTC_Month = gLocal_1;
gLocal_1 = MI2CRead();
gRTC_Year = 0x01;
if (gLocal_1 > 0x99) MRTCWrite(cRTC_Year, gRTC_Year);
else gRTC_Year = gLocal_1;
}
FI2C_NO_ACK = 1;
MI2CRead();
MI2CStop();
return;
}
void MRTCWrite(BYTE gLocal_1, BYTE gLocal_2){
MI2CStart();
MI2CWrite(cRTC_I2CWrite);
MI2CWrite(gLocal_1);
MI2CWrite(gLocal_2);
MI2CStop();
return;
}
void MI2CStart(){
pI2C_SDA(1);
pI2C_SCL(1);
MUSDELAY();
pI2C_SDA(0);
MUSDELAY();
pI2C_SCL(0);
return;
}
void MI2CStop(){
pI2C_SDA(0);
MUSDELAY();
pI2C_SCL(1);
MUSDELAY();
pI2C_SDA(1);
return;
}
void MI2CWrite(BYTE gLocal_1){
BYTE gLocal_2;
gLocal_2 = 9;
do {
pI2C_SCL(0);
if (gLocal_1 & 0x80){
pI2C_SDA(1);
}
else {
pI2C_SDA(0);
}
pI2C_SCL(1);
if (gLocal_2 == 2) gLocal_1 = 0x80;
gLocal_1 <<= 1;
} while (--gLocal_2 != 0);
pI2C_SCL(0);
return;
}
BYTE MI2CRead(){
BYTE gLocal_1;
BYTE gLocal_2;
pI2C_SDA(1);
gLocal_2 = 8;
do{
pI2C_SCL(1);
gLocal_1 <<= 1;
if (pI2C_SDA_HIGH) gLocal_1 |= 0x01;
pI2C_SCL(0);
MUSDELAY();
} while (--gLocal_2 != 0);
if (!FI2C_NO_ACK){
pI2C_SDA(0);
}
else {
pI2C_SDA(1);
}
FI2C_NO_ACK = 0;
pI2C_SCL(1);
MUSDELAY();
pI2C_SCL(0);
return gLocal_1;
}
void MEEP_ByteWrite(WORD g2Local_1, BYTE gLocal_1){
MI2CStart();
MI2CWrite(cEEP24C64Write);
MI2CWrite(g2Local_1 >> 8); // if 24C64
MI2CWrite(g2Local_1);
MI2CWrite(gLocal_1);
MI2CStop();
MDELAY(10);
return;
}
BYTE MEEP_ByteRead(WORD g2Local_1){
BYTE gLocal_1;
MI2CStart();
MI2CWrite(cEEP24C64Write);
MI2CWrite(g2Local_1 >> 8); // if 24C64
MI2CWrite(g2Local_1);
MI2CStart();
MI2CWrite(cEEP24C64Read);
FI2C_NO_ACK = 1;
gLocal_1 = MI2CRead();
MI2CStop();
return gLocal_1;
}
void MDIPTrack_Name(){
BYTE gLocal_0;
BYTE FDIPChinese;
BYTE gLocal_Line;
BYTE gLocal_1;
BYTE gLocal_2;
BOOL FLocal_1;
WORD g2Local_9;
if (FErase_UpData) return;
if ((gCursorMove == 3)||(gAUDAction_State == cAUDAction_Stop) || (gAUDAction_State == cAUDAction_Pause)) gDIPTrack_Name = 1;
if (gDIPTrack_Name){
FLocal_1 = 0;
if ((gMenuSelect == cMenu_Main02_Select_MP3)
||(gMenuSelect == cMenu_Main03_LoopPlayMP3)||(gMenuSelect ==cMenu_Main03_MP3Name)) {
FLocal_1 = 1;
gDIP_Track_Line = cDOTLine2;
}
else if (FTaskNowing && (gNextType == cInput_MP3)&&(gMenuSelect == cMenu_Main02_Start_up_TimerList)){
FLocal_1 = 1;
if (!FControlManual) return;
gDIP_Track_Line = cDOTLine4;
}
if ((++gDIPTrack_Name == 2) || (gCursorMove != 3)){
if (FLocal_1) {
MDIPClearScreen(gDIP_Track_Line); // 清除第gDIP_Track_Line行
FDIPReverse = 0;
if ((gCursorMove == 3) || (GRmCodeData == cRmKey_1)
|| (GRmCodeData == cRmKey_2) || (GRmCodeData == cRmKey_3)
|| (GRmCodeData == cRmKey_4) || (GRmCodeData == cRmKey_5)
|| (GRmCodeData == cRmKey_6) || (GRmCodeData == cRmKey_7)
|| (GRmCodeData == cRmKey_8) || (GRmCodeData == cRmKey_9)
|| (GRmCodeData == cRmKey_0) || (GRmCodeData == cRmKey_AddTen)
|| (GRmCodeData == cRmKey_SkipUp) || (GRmCodeData == cRmKey_SkipDown)) {
FDIPReverse = 1; //光标3
}
MDIPASCIIToScreen(7*2+2, gDIP_Track_Line, (gTrackNumber%100)%10+'0');
MDIPASCIIToScreen(7*1+2, gDIP_Track_Line, (gTrackNumber%100)/10+'0');
MDIPASCIIToScreen(2, gDIP_Track_Line, gTrackNumber/100+'0');
FDIPReverse = 0;
MDIPASCIIToScreen(7*3+2, gDIP_Track_Line, ':');
FDIPChinese = 0;
}
}
if (FLocal_1){
FDIPChinese = 0;
FDIPReverse = 0;
gLocal_0 = 0;
gLocal_1 = gDIPTrack_Name - 2;
gLocal_2 = 8*4;
do { //80
if (gLocal_2 > 128){
gLocal_2 = 8*4;
}
if (gTrack_Name[gLocal_1] < 0x80){
MDIPASCIIToScreen(gLocal_2, gDIP_Track_Line, gTrack_Name[gLocal_1]);
gLocal_0 += 1;
gLocal_1 += 1;
gLocal_2 += 7;
}
else {
g2Local_9 = gTrack_Name[gLocal_1];
g2Local_9 <<= 8;
g2Local_9 |= gTrack_Name[gLocal_1+1];
if (gLocal_0 == 0){
gDIPTrack_Name += 1;
if (((gDIP_Number - gDIPTrack_Name) <= 7)){
MDIPChineseToScreen(128-17, gDIP_Track_Line, ' ');
}
}
else if (gDIP_Number >= 0x0c) MDIPChineseToScreen(128-17, gDIP_Track_Line, ' ');
MDIPChineseToScreen(gLocal_2, gDIP_Track_Line, g2Local_9);
gLocal_0 += 2;
gLocal_1 += 2;
gLocal_2 += 16;
}
} while (gLocal_0 < 11);
if (gDIPTrack_Name > gDIP_Number){
if ((gAUDAction_State == cAUDAction_Stop)||(gAUDAction_State == cAUDAction_Pause)) return;
gDIPTrack_Name = 1;
}
}
}
return;
}
void MSpecify_Play(BYTE gLocal_1){
MDIP_ClearTreakName();
gCTBCommandBuffer[0] = cCTB_CommandA06;
gCTBCommandBuffer[1] = cCTB_SPECIFY_PLAY;
gCTBCommandBuffer[2] = 1;
gCTBCommandBuffer[3] = 0;
gCTBCommandBuffer[4] = 0;
gCTBCommandBuffer[5] = gLocal_1;
MCTBCommandWrite();
return;
}
void MSpecify_Delect(BYTE gLocal_1){
gCTBCommandBuffer[0] = cCTB_CommandA06;
gCTBCommandBuffer[1] = cCTB_SPECIFY_Delete;
gCTBCommandBuffer[2] = 1;
gCTBCommandBuffer[3] = 0;
gCTBCommandBuffer[4] = 0;
gCTBCommandBuffer[5] = gLocal_1;
MCTBCommandWrite();
return;
}
void MTUN_FreqConctrl(){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -