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

📄 dc550_phonesm_infosettings.c

📁 一款经典的数字电话设计资料
💻 C
📖 第 1 页 / 共 3 页
字号:
                         &phonesm_infosettings_date, &phonesm_infosettings_hours,
                         &phonesm_infosettings_minutes, 0, 0);
      if(((((phonesm_infosettings_year >> 4) * 10) +
           (phonesm_infosettings_year & 0x0f)) & 0x03) != current_year) {
        phonesm_infosettings_year += ( ((current_year + 4) -
                                        ((((phonesm_infosettings_year >> 4) * 10) +
                                          (phonesm_infosettings_year & 0x0f)) & 0x03)) &
                                         0x03 );
        if((phonesm_infosettings_year & 0x0f) >= 0x0a) {
          phonesm_infosettings_year -= 0x0a;
          phonesm_infosettings_year += 0x10;
          if((phonesm_infosettings_year >> 4) >= 0x0a) {
            phonesm_infosettings_year -= 0xa0;
          }
        }
      }
      timebuffer[0] = ' ';
      timebuffer[1] = ' ';
      timebuffer[2] = ' ';

      phonesm_infosettings_insertmonth((timebuffer+3),
                                       phonesm_infolanguage_getlanguage());

      timebuffer[6] = ' ';
      timebuffer[7]  = '0' + (phonesm_infosettings_date >> 4);
      timebuffer[8]  = '0' + (phonesm_infosettings_date & 0x0f);
      timebuffer[9] = ' ';
      
      phonesm_infosettings_inserttime12((timebuffer+10),
                                        phonesm_infolanguage_getlanguage());
                                       
      timebuffer[16] = 0;
      break;

    /***** Example: 15 Apr 10:00P, right aligned *****************************/
    case TIMEDATEFORMAT_DD_MMM_HH_MMP:
      if( !rtc_SettingTimeOfDay() )
        rtc_GetTimeOfDay(&current_year, &phonesm_infosettings_month,
                         &phonesm_infosettings_date, &phonesm_infosettings_hours,
                         &phonesm_infosettings_minutes, 0, 0);
      if(((((phonesm_infosettings_year >> 4) * 10) +
           (phonesm_infosettings_year & 0x0f)) & 0x03) != current_year) {
        phonesm_infosettings_year += ( ((current_year + 4) -
                                        ((((phonesm_infosettings_year >> 4) * 10) +
                                          (phonesm_infosettings_year & 0x0f)) & 0x03)) &
                                         0x03 );
        if((phonesm_infosettings_year & 0x0f) >= 0x0a) {
          phonesm_infosettings_year -= 0x0a;
          phonesm_infosettings_year += 0x10;
          if((phonesm_infosettings_year >> 4) >= 0x0a) {
            phonesm_infosettings_year -= 0xa0;
          }
        }
      }
      timebuffer[0] = ' ';
      timebuffer[1] = ' ';
      timebuffer[2] = ' ';

      timebuffer[3]  = '0' + (phonesm_infosettings_date >> 4);
      timebuffer[4]  = '0' + (phonesm_infosettings_date & 0x0f);
      timebuffer[5] = ' ';

      phonesm_infosettings_insertmonth((timebuffer+6),
                                       phonesm_infolanguage_getlanguage());

      timebuffer[9] = ' ';
      
      phonesm_infosettings_inserttime12((timebuffer+10),
                                        phonesm_infolanguage_getlanguage());
                                       
      timebuffer[16] = 0;
      break;

    /***** Example: Apr 15 22:00, right aligned ******************************/
    case TIMEDATEFORMAT_MMM_DD_HH_MM:
      if( !rtc_SettingTimeOfDay() )
        rtc_GetTimeOfDay(&current_year, &phonesm_infosettings_month,
                         &phonesm_infosettings_date, &phonesm_infosettings_hours,
                         &phonesm_infosettings_minutes, 0, 0);
      if(((((phonesm_infosettings_year >> 4) * 10) +
           (phonesm_infosettings_year & 0x0f)) & 0x03) != current_year) {
        phonesm_infosettings_year += ( ((current_year + 4) -
                                        ((((phonesm_infosettings_year >> 4) * 10) +
                                          (phonesm_infosettings_year & 0x0f)) & 0x03)) &
                                         0x03 );
        if((phonesm_infosettings_year & 0x0f) >= 0x0a) {
          phonesm_infosettings_year -= 0x0a;
          phonesm_infosettings_year += 0x10;
          if((phonesm_infosettings_year >> 4) >= 0x0a) {
            phonesm_infosettings_year -= 0xa0;
          }
        }
      }
      timebuffer[0] = ' ';
      timebuffer[1] = ' ';
      timebuffer[2] = ' ';
      timebuffer[3] = ' ';

      phonesm_infosettings_insertmonth((timebuffer+4),
                                       phonesm_infolanguage_getlanguage());

      timebuffer[7] = ' ';
      timebuffer[8]  = '0' + (phonesm_infosettings_date >> 4);
      timebuffer[9]  = '0' + (phonesm_infosettings_date & 0x0f);
      timebuffer[10] = ' ';
      
      phonesm_infosettings_inserttime24((timebuffer+11),
                                        phonesm_infolanguage_getlanguage());
                                       
      timebuffer[16] = 0;
      break;

    /***** Example: 15 Apr 22:00, right aligned ******************************/
    case TIMEDATEFORMAT_DD_MMM_HH_MM:
      if( !rtc_SettingTimeOfDay() )
        rtc_GetTimeOfDay(&current_year, &phonesm_infosettings_month,
                         &phonesm_infosettings_date, &phonesm_infosettings_hours,
                         &phonesm_infosettings_minutes, 0, 0);
      if(((((phonesm_infosettings_year >> 4) * 10) +
           (phonesm_infosettings_year & 0x0f)) & 0x03) != current_year) {
        phonesm_infosettings_year += ( ((current_year + 4) -
                                        ((((phonesm_infosettings_year >> 4) * 10) +
                                          (phonesm_infosettings_year & 0x0f)) & 0x03)) &
                                         0x03 );
        if((phonesm_infosettings_year & 0x0f) >= 0x0a) {
          phonesm_infosettings_year -= 0x0a;
          phonesm_infosettings_year += 0x10;
          if((phonesm_infosettings_year >> 4) >= 0x0a) {
            phonesm_infosettings_year -= 0xa0;
          }
        }
      }
      timebuffer[0] = ' ';
      timebuffer[1] = ' ';
      timebuffer[2] = ' ';
      timebuffer[3] = ' ';

      timebuffer[4]  = '0' + (phonesm_infosettings_date >> 4);
      timebuffer[5]  = '0' + (phonesm_infosettings_date & 0x0f);
      timebuffer[6] = ' ';

      phonesm_infosettings_insertmonth((timebuffer+7),
                                       phonesm_infolanguage_getlanguage());

      timebuffer[10] = ' ';
      
      phonesm_infosettings_inserttime24((timebuffer+11),
                                        phonesm_infolanguage_getlanguage());
                                       
      timebuffer[16] = 0;
      break;

    default:
      for(i = 0; i < TIMEDATE_STRING_LENGTH; i++) 
        timebuffer[i] = ' ';
      timebuffer[TIMEDATE_STRING_LENGTH] = 0;
      break;
  }
}


/******************************************************************************
 *  FUNCTION:
 *  void phonesm_infosettings_settime(DC550TimeUnit year, DC550TimeUnit month,
 *                                    DC550TimeUnit date, DC550TimeUnit hours,
 *                                    DC550TimeUnit minutes)
 ******************************************************************************
 *  DESCRIPTION:
 *  
 *****************************************************************************/
void phonesm_infosettings_settime(DC550TimeUnit year, DC550TimeUnit month,
                                  DC550TimeUnit date, DC550TimeUnit hours,
                                  DC550TimeUnit minutes) {

  phonesm_infosettings_year = year;
  phonesm_infosettings_month = month;
  phonesm_infosettings_date = date;
  phonesm_infosettings_hours = hours;
  phonesm_infosettings_minutes = minutes;
  
  rtc_SetTimeOfDay( ((((phonesm_infosettings_year >> 4) * 10) +
                      (phonesm_infosettings_year & 0x0f)) & 0x0003),
                     month, date, hours, minutes, 0, 0 );
}


/******************************************************************************
 *  FUNCTION:
 *  void phonesm_infosettings_insertmonth(char* monthbuffer,
 *                                        DC550Language language)
 ******************************************************************************
 *  DESCRIPTION:
 *  
 *****************************************************************************/
void phonesm_infosettings_insertmonth(char* monthbuffer,
                                      DC550Language language) {
  switch(language) {
    case ENGLISH:
      switch(phonesm_infosettings_month >> 4) {
        case 1:
          switch(phonesm_infosettings_month & 0x0f) {
            case 0:
              monthbuffer[0] = 'O';
              monthbuffer[1] = 'c';
              monthbuffer[2] = 't';
              break;
            case 1:
              monthbuffer[0] = 'N';
              monthbuffer[1] = 'o';
              monthbuffer[2] = 'v';
              break;
            case 2:
              monthbuffer[0] = 'D';
              monthbuffer[1] = 'e';
              monthbuffer[2] = 'c';
              break;
            default:
              monthbuffer[0] = ' ';
              monthbuffer[1] = ' ';
              monthbuffer[2] = ' ';
              break;
          }
          break;
        case 0:
          switch(phonesm_infosettings_month & 0x0f) {
            case 1:
              monthbuffer[0] = 'J';
              monthbuffer[1] = 'a';
              monthbuffer[2] = 'n';
              break;
            case 2:
              monthbuffer[0] = 'F';
              monthbuffer[1] = 'e';
              monthbuffer[2] = 'b';
              break;
            case 3:
              monthbuffer[0] = 'M';
              monthbuffer[1] = 'a';
              monthbuffer[2] = 'r';
              break;
            case 4:
              monthbuffer[0] = 'A';
              monthbuffer[1] = 'p';
              monthbuffer[2] = 'r';
              break;
            case 5:
              monthbuffer[0] = 'M';
              monthbuffer[1] = 'a';
              monthbuffer[2] = 'y';
              break;
            case 6:
              monthbuffer[0] = 'J';
              monthbuffer[1] = 'u';
              monthbuffer[2] = 'n';
              break;
            case 7:
              monthbuffer[0] = 'J';
              monthbuffer[1] = 'u';
              monthbuffer[2] = 'l';
              break;
            case 8:
              monthbuffer[0] = 'A';
              monthbuffer[1] = 'u';
              monthbuffer[2] = 'g';
              break;
            case 9:
              monthbuffer[0] = 'S';
              monthbuffer[1] = 'e';
              monthbuffer[2] = 'p';
              break;
            default:
              monthbuffer[0] = ' ';
              monthbuffer[1] = ' ';
              monthbuffer[2] = ' ';
              break;
          }
          break;
        default:
          monthbuffer[0] = ' ';
          monthbuffer[1] = ' ';
          monthbuffer[2] = ' ';
          break;
      }
      break;
    case FRENCH:
      switch(phonesm_infosettings_month >> 4) {
        case 1:
          switch(phonesm_infosettings_month & 0x0f) {
            case 0:
              monthbuffer[0] = 'o';
              monthbuffer[1] = 'c';
              monthbuffer[2] = 't';
              break;
            case 1:
              monthbuffer[0] = 'n';
              monthbuffer[1] = 'o';
              monthbuffer[2] = 'v';
              break;
            case 2:
              monthbuffer[0] = 'd';
              monthbuffer[1] = 'e';
              monthbuffer[2] = 'c';
              break;
            default:
              monthbuffer[0] = ' ';
              monthbuffer[1] = ' ';
              monthbuffer[2] = ' ';
              break;
          }
          break;
        case 0:
          switch(phonesm_infosettings_month & 0x0f) {
            case 1:
              monthbuffer[0] = 'j';
              monthbuffer[1] = 'a';
              monthbuffer[2] = 'n';
              break;
            case 2:
              monthbuffer[0] = 'f';
              monthbuffer[1] = 'e';
              monthbuffer[2] = 'v';
              break;
            case 3:
              monthbuffer[0] = 'm';
              monthbuffer[1] = 'a';
              monthbuffer[2] = 'r';
              break;
            case 4:
              monthbuffer[0] = 'a';
              monthbuffer[1] = 'v';
              monthbuffer[2] = 'r';
              break;
            case 5:
              monthbuffer[0] = 'm';
              monthbuffer[1] = 'a';
              monthbuffer[2] = 'i';
              break;
            case 6:
              monthbuffer[0] = 'j';
              monthbuffer[1] = 'u';

⌨️ 快捷键说明

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