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

📄 e20_dip.c

📁 HSAV DR53E CF卡MP3录放板应用编程源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
BYTE mEEPAddr_Find_Date(){
    BYTE gLocal_0;

    FEEP_Already_Write = 0;
    gLocal_0 = 0;
    do {
        if (((MEEP_ByteRead(cEEPAddr_OtherDayStart+gLocal_0) == gTAB_YearWeekDay[2]) 
            && (MEEP_ByteRead(cEEPAddr_OtherDayMontyStart+gLocal_0) == gTAB_YearWeekDay[1]))
            && (MEEP_ByteRead(cEEPAddr_OtherDayItem+gLocal_0) == gOption_group)){
            FEEP_Already_Write = 1;
            break;
        }
    } while (++gLocal_0 != 0);
    return gLocal_0;
}
BYTE mEEPAddr_SameFind02(){
    BYTE gLocal_0;

//(起始时间&星期)||(起始时间&日期)相同时,应履盖原来的地址内容
    gMain00 = 0;
    gLocal_0 = 0;
    do {
        if ((MEEP_ByteRead(cEEPAddr_SecondStart+gLocal_0) == gBroadcast[2]) //遇到相同地址的重写
          && (MEEP_ByteRead(cEEPAddr_MinuteStart+gLocal_0) == gBroadcast[1]) 
          && (MEEP_ByteRead(cEEPAddr_HoureStart+gLocal_0) == gBroadcast[0])
           && (MEEP_ByteRead(cEEPAddr_OtherDayStart+gLocal_0) == gTAB_YearWeekDay[2]) 
            && (MEEP_ByteRead(cEEPAddr_OtherDayMontyStart+gLocal_0) == gTAB_YearWeekDay[1])){
            gMain00 = 1;
            break;
        }
//读出星期几的项数      
//读出特别日子的项数      
    } while (++gLocal_0 != 0);
    return gLocal_0;
}
BYTE mEEPAddr_Fild_DayItemMax(){
    BYTE gLocal_0;
    BYTE gLocal_2;
    BYTE g2Local_0;
    
    g2Local_0 = gTAB_YearWeekDay[1]*gTAB_YearWeekDay[2];
    if (g2Local_0 <= 0xff){
        gLocal_2 = MEEP_ByteRead(cEEPAddr_DayItemMaxLow+g2Local_0);
    }
    else gLocal_2 = MEEP_ByteRead(cEEPAddr_DayItemMaxHigh+g2Local_0-111); 
    if (gLocal_2 == 0xff) gLocal_2 = 0;
    return gLocal_2;
}


BYTE mEEPAddr_SameFind(BYTE gLocal_Week){
    BYTE gLocal_0;

//(起始时间&星期)||(起始时间&日期)相同时,应履盖原来的地址内容

    gMain00 = 0;
    gLocal_0 = 0;
    do {
        if ((MEEP_ByteRead(cEEPAddr_SecondStart+gLocal_0) == gBroadcast[2]) //遇到相同地址的重写
          && (MEEP_ByteRead(cEEPAddr_MinuteStart+gLocal_0) == gBroadcast[1]) 
          && (MEEP_ByteRead(cEEPAddr_HoureStart+gLocal_0) == gBroadcast[0])
           && (MEEP_ByteRead(cEEPAddr_WeekStart+gLocal_0) == gLocal_Week)
           && (MEEP_ByteRead(cEEPAddr_WeekItem+gLocal_0) != 0xff)
           ){
            gMain00 = 1;
//每个星期几选项时记忆范围0~FF之中不可有起始时间相同的设置
//每个几月几日选项记忆范围0~FF之中不可有起始时间相同的设置
            break;
        }
//读出星期几的项数      

    } while (++gLocal_0 != 0);
    return gLocal_0;
}
void mEEPAddr_Write(BYTE gLocal_3){

    MEEP_ByteWrite(cEEPAddr_SecondStart+gLocal_3,gBroadcast[2]);
    MEEP_ByteWrite(cEEPAddr_MinuteStart+gLocal_3,gBroadcast[1]);
    MEEP_ByteWrite(cEEPAddr_HoureStart+gLocal_3,gBroadcast[0]);
    MEEP_ByteWrite((cEEPAddr_SecondWork+gLocal_3), gBroadcast[5]);   
    MEEP_ByteWrite((cEEPAddr_MinuteWork+gLocal_3), gBroadcast[4]);   
    MEEP_ByteWrite((cEEPAddr_HoureWork+gLocal_3), gBroadcast[3]);   
    MEEP_ByteWrite(cEEPAddr_Option_List+gLocal_3,gBroadcast[6]&0x3f);
    MEEP_ByteWrite(cEEPAddr_PowerComctrl+gLocal_3,gBroadcast[7]);
    MEEP_ByteWrite((cEEPAddr_TaskType+gLocal_3), gBroadcast[9]);  //或其它五种类型

    if (gBroadcast[9] == 0x10){
        MEEP_ByteWrite((cEEPAddr_TrackStart10+gLocal_3), gBroadcast[11]*10+gBroadcast[12]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart20+gLocal_3), gBroadcast[14]*10+gBroadcast[15]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart30+gLocal_3), gBroadcast[17]*10+gBroadcast[18]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart40+gLocal_3), gBroadcast[20]*10+gBroadcast[21]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart50+gLocal_3), gBroadcast[23]*10+gBroadcast[24]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart60+gLocal_3), gBroadcast[26]*10+gBroadcast[27]);   
    }
    else {
        gBroadcast[10] = FTUNBandMW; 
        gBroadcast[11] = g2TUNAddrRead>>8;
        gBroadcast[12] = g2TUNAddrRead;
        MEEP_ByteWrite((cEEPAddr_TrackStart10+gLocal_3), gBroadcast[10]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart20+gLocal_3), gBroadcast[11]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart30+gLocal_3), gBroadcast[12]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart40+gLocal_3), gBroadcast[13]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart50+gLocal_3), gBroadcast[14]);   
        MEEP_ByteWrite((cEEPAddr_TrackStart60+gLocal_3), gBroadcast[15]);   
    }
    return;
}

void mEEPAddr_Read(BYTE gLocal_3){
    BYTE gLocal_1;
    BYTE gLocal_2;

    gBroadcast[2] = MEEP_ByteRead(cEEPAddr_SecondStart+gLocal_3);
    gBroadcast[1] = MEEP_ByteRead(cEEPAddr_MinuteStart+gLocal_3);
    gBroadcast[0] = MEEP_ByteRead(cEEPAddr_HoureStart+gLocal_3);
    gBroadcast[5] = MEEP_ByteRead(cEEPAddr_SecondWork+gLocal_3);
    gBroadcast[4] = MEEP_ByteRead(cEEPAddr_MinuteWork+gLocal_3);
    gBroadcast[3] = MEEP_ByteRead(cEEPAddr_HoureWork+gLocal_3);

//电源值&设置当前列表(当前列表为星期列表|0x10,当前列表为其它日子|0x20)
    gBroadcast[7] = MEEP_ByteRead(cEEPAddr_PowerComctrl+gLocal_3);
    gBroadcast[6] = MEEP_ByteRead(cEEPAddr_Option_List+gLocal_3);
    gBroadcast[9] = MEEP_ByteRead(cEEPAddr_TaskType+gLocal_3);
    if (gBroadcast[9] == 0x10){
        gBroadcast[11] = MEEP_ByteRead(cEEPAddr_TrackStart10+gLocal_3)/10;
        gBroadcast[12] = MEEP_ByteRead(cEEPAddr_TrackStart10+gLocal_3)%10;
        gBroadcast[14] = MEEP_ByteRead(cEEPAddr_TrackStart20+gLocal_3)/10;
        gBroadcast[15] = MEEP_ByteRead(cEEPAddr_TrackStart20+gLocal_3)%10;
        gBroadcast[17] = MEEP_ByteRead(cEEPAddr_TrackStart30+gLocal_3)/10;
        gBroadcast[18] = MEEP_ByteRead(cEEPAddr_TrackStart30+gLocal_3)%10;
        gBroadcast[20] = MEEP_ByteRead(cEEPAddr_TrackStart40+gLocal_3)/10;
        gBroadcast[21] = MEEP_ByteRead(cEEPAddr_TrackStart40+gLocal_3)%10;
        gBroadcast[23] = MEEP_ByteRead(cEEPAddr_TrackStart50+gLocal_3)/10;
        gBroadcast[24] = MEEP_ByteRead(cEEPAddr_TrackStart50+gLocal_3)%10;
        gBroadcast[26] = MEEP_ByteRead(cEEPAddr_TrackStart60+gLocal_3)/10;
        gBroadcast[27] = MEEP_ByteRead(cEEPAddr_TrackStart60+gLocal_3)%10;
    }
    else {
        gBroadcast[10] = MEEP_ByteRead(cEEPAddr_TrackStart10+gLocal_3);
        gBroadcast[11] = MEEP_ByteRead(cEEPAddr_TrackStart20+gLocal_3);
        gBroadcast[12] = MEEP_ByteRead(cEEPAddr_TrackStart30+gLocal_3);
        gBroadcast[13] = MEEP_ByteRead(cEEPAddr_TrackStart40+gLocal_3);
        gBroadcast[14] = MEEP_ByteRead(cEEPAddr_TrackStart50+gLocal_3);
        gBroadcast[15] = MEEP_ByteRead(cEEPAddr_TrackStart60+gLocal_3);

        FTUNBandMW = gBroadcast[10];
        FHandToAutoTuner = 1;
        g2TUNAddrRead = gBroadcast[11]<<8;
        g2TUNAddrRead |= gBroadcast[12];
        if (gBroadcast[9] == 0x02)  MTUN_FreqConctrl();
    }
    if (gMenuSelect == cMenu_Main02_WeekList) {
    //进入"修改此项菜单"时准备好: gBroadcast[8] 电源工作日 & gBroadcast[28] 节目工作日
//gBroadcast[6] 设置项,星期列表|0x10(特别日子列表|0x20), 设置电源项|0x01,设置播放项|0x02,

        MProgramCurreDay();
        gBroadcast[8] = MDIP_EnterSelectWeek(gBroadcast[8]);
        gBroadcast[28] = MDIP_EnterSelectWeek(gBroadcast[28]);

    }

    return;
}
void MRead_Week_Program_Data(){
    BYTE gLocal_3;
    FEEP_Already_Write = 0;
    gLocal_3 = mEEPAddr_Find_Week(gCOL_Week);     //如果有星期项数此项数值时FEEP_Already_Write = 1;

    if (FEEP_Already_Write){
        gAdd_Option_groupMax = MEEP_ByteRead(TabWeekAddr[gCOL_Week-1]);
        if (gAdd_Option_groupMax < mEEPAddr_Find_WeekNou()) gAdd_Option_groupMax = mEEPAddr_Find_WeekNou();
    }
    if (FEEP_Already_Write){
        mEEPAddr_Read(gLocal_3);
    }
    return;
}
void MRead_Day_Program_Data(){
    BYTE gLocal_3;

    gLocal_3 = mEEPAddr_Find_Date();     //如果有此项数值时FEEP_Already_Write = 1;
    if (FEEP_Already_Write){
        gAdd_Option_groupMax = mEEPAddr_Fild_DayItemMax();
        if ((gAdd_Option_groupMax == 0)||(gAdd_Option_groupMax == 0xff)) FEEP_Already_Write = 0;
    }
    if (FEEP_Already_Write){
        gTAB_YearWeekDay[2] = MEEP_ByteRead(cEEPAddr_OtherDayStart+gLocal_3);
        gTAB_YearWeekDay[1] = MEEP_ByteRead(cEEPAddr_OtherDayMontyStart+gLocal_3);
        mEEPAddr_Read(gLocal_3);
    }
    return;
}

BYTE mEEPAddr_NullFind(BYTE gLocal_3){
    BYTE gLocal_0;

    gMain00 = 0;
    gLocal_0 = 0;
    do {
        if ((MEEP_ByteRead(cEEPAddr_SecondStart+gLocal_0) == 0xff)
          &&(MEEP_ByteRead(cEEPAddr_MinuteStart+gLocal_0) == 0xff)
          && (MEEP_ByteRead(cEEPAddr_HoureStart+gLocal_0) == 0xff)){
            gMain00 = 1;
            break;
        }
        else if (gLocal_0 > gLocal_3){
            break;
        }
    } while (++gLocal_0 != 0);
    return gLocal_0;
}




BYTE MDIP_EnterSelectWeek(BYTE gLocal_1){
    BYTE gLocal_0;

    if (!FWeek_One) gLocal_1 |= 0x01;
    else gLocal_1 &= 0xfe;
    if (!FWeek_Two) gLocal_1 |= 0x02;
    else gLocal_1 &= 0xfd;
    if (!FWeek_Three) gLocal_1 |= 0x04;
    else gLocal_1 &= 0xfb;
    if (!FWeek_Four) gLocal_1 |= 0x08;
    else gLocal_1 &= 0xf7;
    if (!FWeek_Five) gLocal_1 |= 0x10;
    else gLocal_1 &= 0xef;
    if (!FWeek_Six) gLocal_1 |= 0x20;
    else gLocal_1 &= 0xdf;
    if (!FWeek_Seven) gLocal_1 |= 0x40;
    else gLocal_1 &= 0xbf;
    gLocal_0 = gLocal_1;
    return gLocal_0;
}
//gBroadcast[0~2]开始时间
//gBroadcast[3~5]结束时间
//gBroadcast[6] 设置项,星期列表|0x10(特别日子列表|0x20), 设置电源项|0x01,设置播放项|0x02,
//gBroadcast[7] 电源值(ch1开|0x01,ch2开|0x02,ch3开|0x04,ch4开|0x08,)
//gBroadcast[8] 工作日(星期一|0x01,星期二|0x02,星期三|0x04,星期四|0x08,星期五|0x10,星期六|0x20,星期日|0x40),
//gBroadcast[9] 节目选项(MIC&0x01,收音&0x02,录音&0x04,LINE&0x08,音乐&0x10,),
//gBroadcast[10~27] 节目号 
//gBroadcast[28] 节目工作日(星期一|0x01,星期二|0x02,星期三|0x04,星期四|0x08,星期五|0x10,星期六|0x20,星期日|0x40),
void MEEP_OnePlayComctrl_Option(){
   if (!FWeek_One && ((gBroadcast[8] & 0x01) != 0x01)){
        gBroadcast[6] = 0x12;
        MEEP_OneWeekOption_Wrire(1);
   }
   if (!FWeek_Two && ((gBroadcast[8] & 0x02) != 0x02)){
        gBroadcast[6] = 0x12;
        MEEP_OneWeekOption_Wrire(2);
   }
   if (!FWeek_Three && ((gBroadcast[8] & 0x04) != 0x04)){
        gBroadcast[6] = 0x12;
        MEEP_OneWeekOption_Wrire(3);
   }
   if (!FWeek_Four && ((gBroadcast[8] & 0x08) != 0x08)){
        gBroadcast[6] = 0x12;
        MEEP_OneWeekOption_Wrire(4);
   }
   if (!FWeek_Five && ((gBroadcast[8] & 0x10) != 0x10)){
        gBroadcast[6] = 0x12;
        MEEP_OneWeekOption_Wrire(5);
   }
   if (!FWeek_Six && ((gBroadcast[8] & 0x20) != 0x20)){
        gBroadcast[6] = 0x12;
        MEEP_OneWeekOption_Wrire(6);
   }
   if (!FWeek_Seven && ((gBroadcast[8] & 0x40) != 0x40)){
        gBroadcast[6] = 0x12;
        MEEP_OneWeekOption_Wrire(7);
   }
   return;
}
void MEEP_OneOutCOmctrl_Option(){
   if (!FWeek_One && ((gBroadcast[28] & 0x01) != 0x01)){
        gBroadcast[6] = 0x11;
        MEEP_OneWeekOption_Wrire(1);
   }
   if (!FWeek_Two && ((gBroadcast[28] & 0x02) != 0x02)){
        gBroadcast[6] = 0x11;
        MEEP_OneWeekOption_Wrire(2);
   }
   if (!FWeek_Three && ((gBroadcast[28] & 0x04) != 0x04)){
        gBroadcast[6] = 0x11;
        MEEP_OneWeekOption_Wrire(3);
   }
   if (!FWeek_Four && ((gBroadcast[28] & 0x08) != 0x08)){
        gBroadcast[6] = 0x11;
        MEEP_OneWeekOption_Wrire(4);
   }
   if (!FWeek_Five && ((gBroadcast[28] & 0x10) != 0x10)){
        gBroadcast[6] = 0x11;
        MEEP_OneWeekOption_Wrire(5);
   }
   if (!FWeek_Six && ((gBroadcast[28] & 0x20) != 0x20)){
        gBroadcast[6] = 0x11;
        MEEP_OneWeekOption_Wrire(6);
   }
   if (!FWeek_Seven && ((gBroadcast[28] & 0x40) != 0x40)){
        gBroadcast[6] = 0x11;
        MEEP_OneWeekOption_Wrire(7);
   }
    return;
}
void MEEP_Two_Option(){
   if (((gBroadcast[8] & 0x01) == 0x01) & ((gBroadcast[28] & 0x01) == 0x01)){
  //记忆星期一内容(电源&播放列表内容)
        MEEP_OneWeekOption_Wrire(1);
   }
   if (((gBroadcast[8] & 0x02) == 0x02) & ((gBroadcast[28] & 0x02) == 0x02)){
  //记忆星期二内容(电源&播放列表内容)
        MEEP_OneWeekOption_Wrire(2);
   }
   if (((gBroadcast[8] & 0x04) == 0x04) & ((gBroadcast[28] & 0x04) == 0x04)){
  //记忆星期三内容(电源&播放列表内容)
        MEEP_OneWeekOption_Wrire(3);
   }
   if (((gBroadcast[8] & 0x08) == 0x08) & ((gBroadcast[28] & 0x08) == 0x08)){
  //记忆星期四内容(电源&播放列表内容)
        MEEP_OneWeekOption_Wrire(4);
   }
   if (((gBroadcast[8] & 0x10) == 0x10) & ((gBroadcast[28] & 0x10) == 0x10)){
  //记忆星期五内容(电源&播放列表内容)
        MEEP_OneWeekOption_Wrire(5);
   }
   if (((gBroadcast[8] & 0x20) == 0x20) & ((gBroadcast[28] & 0x20) == 0x20)){
  //记忆星期六内容(电源&播放列表内容)
        MEEP_OneWeekOption_Wrire(6);
   }

   if (((gBroadcast[8] & 0x40) == 0x40) & ((gBro

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -