⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e20_dis.c

📁 HSAV DR53E CF卡MP3录放板应用编程源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
        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 + -