亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? emeter-basic-display.c

?? msp430F437三相電表DEMO(編譯器 IAR 3.42A)
?? C
?? 第 1 頁 / 共 3 頁
字號:
    LCDicon(ICON_DATE_COLON_1, TRUE);
            #endif
            #if defined(ICON_DATE_COLON_1A)
    LCDicon(ICON_DATE_COLON_1A, TRUE);
            #endif
            #if defined(ICON_DATE_COLON_2)
    LCDicon(ICON_DATE_COLON_2, TRUE);
            #endif
            #if defined(ICON_DATE_COLON_2A)
    LCDicon(ICON_DATE_COLON_2A, TRUE);
            #endif
            #if defined(ICON_DATE)
    LCDicon(ICON_DATE, TRUE);
            #endif
}

static __inline__ void display_current_time(void)
{
            #if defined(DEDICATED_TIME_FIELD)
    uint8_t x;

    /*TODO: This is fudged, as the time field has digits in
            reverse order from the main field. */
    LCDdecu16(rtc.hour, DEDICATED_TIME_FIELD + 2, 2, 1);
    LCDdecu16(rtc.minute, DEDICATED_TIME_FIELD, 2, 1);
    x = LCDMEM[12];
    LCDMEM[12] = LCDMEM[11];
    LCDMEM[11] = x;
    x = LCDMEM[14];
    LCDMEM[14] = LCDMEM[13];
    LCDMEM[13] = x;
                #if defined(ICON_TIME_FIELD_TIME)
    LCDicon(ICON_TIME_FIELD_TIME, TRUE);
                #endif
                #if defined(ICON_TIME_FIELD_COLON)
    LCDicon(ICON_TIME_FIELD_COLON, TRUE);
                #endif
            #elif defined(TWO_LINE_LCD)
                #if defined(ZAP_COLON_CELL)
    LCDchar(CHAR_SPACE, ZAP_COLON_CELL);
                #endif
    LCDdecu16(rtc.hour, HOUR_POSITION, 2, 1);
    LCDdecu16(rtc.minute, MINUTE_POSITION, 2, 1);
    LCDdecu16(rtc.second, SECONDS_POSITION, 2, 1);
                #if defined(ICON_TIME_COLON_1)
    LCDicon(ICON_TIME_COLON_1, TRUE);
                #endif
                #if defined(ICON_TIME_COLON_1A)
    LCDicon(ICON_TIME_COLON_1A, TRUE);
                #endif
                #if defined(ICON_TIME_COLON_2)
    LCDicon(ICON_TIME_COLON_2, TRUE);
                #endif
                #if defined(ICON_TIME_COLON_2A)
    LCDicon(ICON_TIME_COLON_2A, TRUE);
                #endif
                #if defined(ICON_TIME)
    LCDicon(ICON_TIME, TRUE);
                #endif
            #else
                #if !defined(ICON_TIME)  &&  defined(DISPLAY_TYPE_POSITION)
                    #if defined(USE_STARBURST)
    LCDchar(CHAR_T, DISPLAY_TYPE_POSITION);
                    #else
    LCDchar(CHAR_t, DISPLAY_TYPE_POSITION);
                    #endif
                    #if FIRST_POSITION > 2
    LCDchar(CHAR_i, DISPLAY_TYPE_POSITION + 1);
                    #endif
                #endif
                #if defined(ZAP_COLON_CELL)
    LCDchar(CHAR_SPACE, ZAP_COLON_CELL);
                #endif
    LCDdecu16(rtc.hour, HOUR_POSITION, 2, 1);
    LCDdecu16(rtc.minute, MINUTE_POSITION, 2, 1);
    LCDdecu16(rtc.second, SECONDS_POSITION, 2, 1);
                #if defined(ICON_TIME_COLON_1)
    LCDicon(ICON_TIME_COLON_1, TRUE);
                #endif
                #if defined(ICON_TIME_COLON_1A)
    LCDicon(ICON_TIME_COLON_1A, TRUE);
                #endif
                #if defined(ICON_TIME_COLON_2)
    LCDicon(ICON_TIME_COLON_2, TRUE);
                #endif
                #if defined(ICON_TIME_COLON_2A)
    LCDicon(ICON_TIME_COLON_2A, TRUE);
                #endif
                #if defined(ICON_TIME)
    LCDicon(ICON_TIME, TRUE);
                #endif
            #endif
}
        #endif

        #if defined(TEMPERATURE_SUPPORT)
static __inline__ void display_temperature(void)
{
    int32_t temp;

    LCDchar(CHAR_C, DISPLAY_TYPE_POSITION);
    /* Convert the temperature reading to degrees C */
    /* DegC = ((((int32_t) ADC_result - 1615)*704)/4095); */
    /* We filtered in a way that multiplied the temperature reading by 8 */
    /* Therefore, to get a result in 0.1 degree C steps we do this... */
    temp = temperature - nv_parms.seg_a.s.temperature_offset;
    temp *= nv_parms.seg_a.s.temperature_scaling;
    temp >>= 16;
    LCDdec32(temp, FIRST_TEMPERATURE_POSITION, NUMBER_WIDTH - 1, 1);
}
        #endif

        #if defined(MULTI_RATE_SUPPORT)
void display_current_tariff(void)
{
            #if !defined(ICON_DATE)  &&  defined(DISPLAY_TYPE_POSITION)
                #if defined(USE_STARBURST)
    LCDchar(CHAR_T, DISPLAY_TYPE_POSITION);
                #else
    LCDchar(CHAR_t, DISPLAY_TYPE_POSITION);
                #endif
    LCDchar(CHAR_a, DISPLAY_TYPE_POSITION + 1);
    LCDchar(CHAR_r, DISPLAY_TYPE_POSITION + 2);
    LCDchar(CHAR_r, DISPLAY_TYPE_POSITION + 3);
    LCDchar(CHAR_SPACE, DISPLAY_TYPE_POSITION + 4);
            #endif
    LCDdecu16(current_tariff + 1, DISPLAY_TYPE_POSITION + 5, 2, 0);
}

void display_tariff_holiday(void)
{
    int i;
    eeprom_holiday_t holiday;

    info_step = 0;
    for (i = info_step;  i < MULTIRATE_MAX_HOLIDAYS;  i++)
    {
        iicEEPROM_read(EEPROM_START_HOLIDAYS + i*sizeof(eeprom_holiday_t), (void *) &holiday, sizeof(holiday));
        if (holiday.year)
        {
            info_step = i;
            #if !defined(ICON_DATE)  &&  defined(DISPLAY_TYPE_POSITION)
                #if defined(USE_STARBURST)
            LCDchar(CHAR_D, DISPLAY_TYPE_POSITION);
                #else
            LCDchar(CHAR_d, DISPLAY_TYPE_POSITION);
                #endif
                #if FIRST_POSITION > 2
            LCDchar(CHAR_t, DISPLAY_TYPE_POSITION + 1);
                #endif
            #endif
            #if defined(ZAP_COLON_CELL)
            LCDchar(CHAR_SPACE, ZAP_COLON_CELL);
            #endif
            LCDdecu16(holiday.year, YEAR_POSITION, 2, 1);
            LCDdecu16(holiday.month, MONTH_POSITION, 2, 1);
            LCDdecu16(holiday.day, DAY_POSITION, 2, 1);
            #if defined(ICON_COLON_1)
            LCDicon(ICON_COLON_1, TRUE);
            #endif
            #if defined(ICON_COLON_1A)
            LCDicon(ICON_COLON_1A, TRUE);
            #endif
            #if defined(ICON_COLON_2)
            LCDicon(ICON_COLON_2, TRUE);
            #endif
            #if defined(ICON_COLON_2A)
            LCDicon(ICON_COLON_2A, TRUE);
            #endif
            #if defined(ICON_DATE)
            LCDicon(ICON_DATE, TRUE);
            #endif
            return;
        }
    }
}
        #endif

void update_display(void)
{
    int skip_stage;
        #if !defined(SINGLE_PHASE)
    struct phase_parms_s *phase;
    struct phase_nv_parms_s const *phase_nv;

    phase = &chan[(int) display_phase];
    phase_nv = &nv_parms.seg_a.s.chan[(int) display_phase];
        #endif
    do
    {
        skip_stage = FALSE;
        LCDchar(CHAR_SPACE, DISPLAY_TYPE_POSITION);
        #if defined(ICON_ONLY_1)
        LCDchar(0, ICON_ONLY_1);
        #endif
        #if defined(ICON_ONLY_2)
        LCDchar(0, ICON_ONLY_2);
        #endif
        #if defined(ICON_ONLY_3)
        LCDchar(0, ICON_ONLY_3);
        #endif
        #if defined(PHASE_POSITION)
            #if defined(SINGLE_PHASE)
        LCDchar(CHAR_SPACE, PHASE_POSITION);
            #else
        if (display_stage <= DISPLAY_STAGE_PHASE_LAST)
            LCDdecu16(display_phase + 1, PHASE_POSITION, 1, 0);
        else
            LCDchar(CHAR_SPACE, PHASE_POSITION);
            #endif
        #endif
        display_clear_line_1();
        #if defined(TWO_LINE_LCD)
        display_clear_line_2();
        #endif
        switch (display_stage)
        {
        #if defined(PER_PHASE_ENERGY_SUPPORT)
        case DISPLAY_STAGE_PHASE_ENERGY:
            #if defined(SINGLE_PHASE)
            display_phase_consumed_energy();
            #else
            display_phase_consumed_energy(phase);
            #endif
            #if !defined(TWO_LINE_LCD)
            break;
        case DISPLAY_STAGE_PHASE_POWER:
            #endif
            #if defined(SINGLE_PHASE)
            display_phase_power();
            #else
            display_phase_power(phase);
            #endif
            break;
        #endif
        #if defined(MAINS_FREQUENCY_SUPPORT)
        case DISPLAY_STAGE_MAINS_FREQUENCY:
            #if defined(SINGLE_PHASE)
            display_mains_frequency();
            #else
            display_mains_frequency(phase);
            #endif
            break;
        #endif
        #if defined(IRMS_SUPPORT)
        case DISPLAY_STAGE_CURRENT:
            #if defined(SINGLE_PHASE)
            display_irms();
            #else
            display_irms(phase, phase_nv);
            #endif
            break;
        #endif
        #if defined(VRMS_SUPPORT)
        case DISPLAY_STAGE_VOLTAGE:
            #if defined(SINGLE_PHASE)
            display_vrms();
            #else
            display_vrms(phase, phase_nv);
            #endif
            break;
        #endif
        #if defined(IRMS_SUPPORT)  &&  defined(VRMS_SUPPORT)  &&  defined(POWER_FACTOR_SUPPORT)
        case DISPLAY_STAGE_POWER_FACTOR:
            #if defined(SINGLE_PHASE)
            display_power_factor();
            #else
            display_power_factor(phase, phase_nv);
            #endif
            break;
            #if defined(REACTIVE_POWER_SUPPORT)
        case DISPLAY_STAGE_REACTIVE_POWER:
                #if defined(SINGLE_PHASE)
            display_reactive_power();
                #else
            display_reactive_power(phase);
                #endif
            break;
            #endif
            #if defined(VA_POWER_SUPPORT)
        case DISPLAY_STAGE_VA:
                #if defined(SINGLE_PHASE)
            display_VA_power();
                #else
            display_VA_power(phase);
                #endif
            break;
            #endif
        #endif
    #endif
    #if defined(RTC_SUPPORT)
        case DISPLAY_STAGE_DATE:
            display_current_date();
        #if defined(TWO_LINE_LCD)
            display_current_time();
        #endif
            break;
        #if !defined(DEDICATED_TIME_FIELD)  &&  !defined(TWO_LINE_LCD)
        case DISPLAY_STAGE_TIME:
            display_current_time();
            break;
        #endif
    #endif
    #if !defined(SINGLE_PHASE)  &&  defined(NEUTRAL_MONITOR_SUPPORT)
        case DISPLAY_STAGE_NEUTRAL_CURRENT:
            display_neutral_irms();
            break;
    #endif
    #if defined(TEMPERATURE_SUPPORTx)
        case DISPLAY_STAGE_TEMPERATURE:
            display_temperature();
            break;
    #endif
    #if defined(MULTI_RATE_SUPPORT)
        case DISPLAY_STAGE_CURRENT_TARIFF:
            display_current_tariff();
            break;
    #endif
    #if defined(TOTAL_ENERGY_SUPPORT)
        case DISPLAY_STAGE_TOTAL_POWER:
            display_total_power();
        #if !defined(TWO_LINE_LCD)
            break;
        default:
        #endif
            display_total_consumed_energy();
            break;
    #endif
        }

    #if !defined(SINGLE_PHASE)  &&  defined(ICON_PHASE_A)  &&  defined(ICON_PHASE_B)  &&  defined(ICON_PHASE_C)
        if (display_stage <= DISPLAY_STAGE_PHASE_LAST)
        {
            //Turn on the appropriate cursor, to indicate the current phase
            LCDicon(phase_icons[0], display_phase == 0);
            LCDicon(phase_icons[1], display_phase == 1);
            LCDicon(phase_icons[2], display_phase == 2);
        }
        else
        {
            //Turn off the cursors, as we are not showing phase related info
            LCDicon(phase_icons[0], FALSE);
            LCDicon(phase_icons[1], FALSE);
            LCDicon(phase_icons[2], FALSE);
        }
        #if FIRST_POSITION > 2
        LCDchar(CHAR_SPACE, 2);
        #endif
    #endif

    #if defined(SINGLE_PHASE)
        if (++display_stage >= DISPLAY_STAGE_LAST) 
            display_stage = 0;
    #else
        if (display_phase < NUM_PHASES - 1)
        {
            if (++display_stage >= DISPLAY_STAGE_PHASE_LAST)
            {
                display_stage = 0;
                display_phase++;
            }
        }
        else
        {
            if (++display_stage == DISPLAY_STAGE_PHASE_LAST)
                display_stage++;
            if (display_stage >= DISPLAY_STAGE_LAST) 
            {
                display_stage = 0;
                display_phase = 0;
            }
        }
    #endif
    }
    while (skip_stage);
    #if defined(DEDICATED_TIME_FIELD)
    display_current_time();
    #endif
    #if defined(ICON_BATTERY)
    LCDicon(ICON_BATTERY, TRUE);
    #endif
    #if LIMP_MODE_SUPPORT
    if (operating_mode == OPERATING_MODE_LIMP)
        LCDchar(CHAR_L, DISPLAY_TYPE_POSITION);
    #endif
}

#if !defined(__GNUC__)
int16_t ram_exclusion_zone_start_;
int16_t ram_exclusion_zone_middle_;
int16_t ram_exclusion_zone_end_;
#endif

#endif

#if defined(__MSP430__)
    #if defined(BASIC_KEYPAD_SUPPORT)
void keypad_handler(void)
{
    if ((key_states & KEY_1_DOWN))
    {
        update_display();
        key_states &= ~KEY_1_DOWN;
    }
    if ((key_states & KEY_1_REPEAT_DOWN))
    {
        update_display();
        key_states &= ~KEY_1_REPEAT_DOWN;
    }
}
    #endif
#endif

#if 0
    switch (info_section)
    {
    case 0:
        info_substep
        if (++info_step >= MULTIRATE_TARIFFS)
        {
            info_section++;
            info_step = 0;
        }
        break;
    case 1:
        if (++info_step >= MULTIRATE_MAX_HOLIDAYS)
        {
            info_section++;
            info_step = 0;
        }
        break;
    case 2:
        if (++info_step >= MULTIRATE_MAX_CUTOFF_DATES)
        {
            info_section++;
            info_step = 0;
        }
        break;
    case 3:
        if (++info_step >= MULTIRATE_HISTORIES)
        {
            info_section++;
            info_step = 0;
        }
        break;
    case 4:
        if (++info_step >= MULTIRATE_MAX_DAILY_PEAKS)
        {
            info_section++;
            info_step = 0;
        }
        break;
    }
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜日本在线观看| 色婷婷狠狠综合| 一本色道**综合亚洲精品蜜桃冫| 欧美日韩一区高清| 久久美女高清视频| 亚洲午夜久久久久| av在线免费不卡| 日韩美女在线视频| 亚洲一区二区三区四区在线观看 | 成人小视频在线| 欧美日韩在线三级| 亚洲欧美自拍偷拍| 国产在线看一区| 日韩三级中文字幕| 日韩精品五月天| 欧美日韩一卡二卡三卡 | 亚洲国产精品精华液网站| 国产一区二区三区高清播放| 在线成人免费视频| 亚洲成人在线网站| 精品视频999| 亚洲国产综合人成综合网站| 色婷婷av一区| 伊人开心综合网| 91亚洲精品久久久蜜桃| 国产精品对白交换视频 | 欧美久久久一区| 亚洲午夜羞羞片| 色视频成人在线观看免| 国产精品成人网| www.视频一区| 亚洲同性同志一二三专区| 99久久99精品久久久久久| 国产精品国产三级国产专播品爱网| 国产一区二区三区久久久| 日韩精品在线网站| 激情久久久久久久久久久久久久久久| 7777精品久久久大香线蕉| 偷拍亚洲欧洲综合| 91精品午夜视频| 蜜桃久久久久久| 久久久久久99精品| 成年人午夜久久久| 亚洲乱码国产乱码精品精可以看| 99久久综合99久久综合网站| 亚洲色图制服丝袜| 欧美熟乱第一页| 蜜桃视频一区二区三区在线观看| 337p粉嫩大胆噜噜噜噜噜91av | 在线亚洲欧美专区二区| 亚洲电影中文字幕在线观看| 欧美日韩一区二区三区四区五区| 视频精品一区二区| 久久一区二区三区国产精品| 成人av电影在线观看| 一区二区在线观看视频| 91精品国产综合久久国产大片| 精品制服美女久久| 欧美高清在线视频| 色噜噜狠狠色综合中国| 日本最新不卡在线| 国产欧美精品一区二区色综合 | 精品久久久久av影院| 国产成人a级片| 亚洲电影一区二区| 国产日韩亚洲欧美综合| 色婷婷久久综合| 激情五月激情综合网| 亚洲日本一区二区三区| 日韩三级.com| 91一区一区三区| 看国产成人h片视频| 欧美国产一区二区在线观看| 91国产丝袜在线播放| 加勒比av一区二区| 一区二区三区四区精品在线视频| 日韩精品一区在线| 色94色欧美sute亚洲线路一ni | 一本大道av伊人久久综合| 蜜臂av日日欢夜夜爽一区| 国产精品女同互慰在线看| 欧美一区二区三区啪啪| a4yy欧美一区二区三区| 人人爽香蕉精品| 亚洲精品成人在线| 中文字幕欧美激情一区| 91精品欧美一区二区三区综合在 | 国产呦精品一区二区三区网站| 亚洲人妖av一区二区| 精品sm捆绑视频| 69av一区二区三区| 欧美在线一区二区三区| 高清不卡在线观看| 久久国产免费看| 日韩精品电影在线| 亚洲激情av在线| 国产精品网曝门| 久久久久88色偷偷免费| 日韩欧美精品三级| 777a∨成人精品桃花网| 在线视频一区二区免费| 91麻豆文化传媒在线观看| 国产精品1区2区3区在线观看| 美国十次了思思久久精品导航| 一区二区高清视频在线观看| 国产精品情趣视频| 国产精品网站在线观看| 日本一区二区综合亚洲| 久久综合久久综合久久| 日韩欧美国产一区二区在线播放| 欧美日韩高清不卡| 欧洲亚洲国产日韩| 在线免费观看不卡av| 色哟哟国产精品| 91精品福利视频| 在线观看中文字幕不卡| 一本色道久久综合亚洲精品按摩| 99re亚洲国产精品| 91美女在线观看| 一本色道久久加勒比精品| 日本黄色一区二区| 欧美日韩精品一区二区天天拍小说 | 欧美精品一区二区蜜臀亚洲| 日韩一区二区精品葵司在线| 欧美一区二区三区四区五区| 日韩午夜中文字幕| www久久久久| 日本一区免费视频| 中文字幕亚洲成人| 亚洲小少妇裸体bbw| 日韩av一级电影| 国产精一品亚洲二区在线视频| 成人免费视频播放| 色老头久久综合| 91精品国产综合久久久久久久| 欧美电影免费提供在线观看| 国产亚洲一区二区三区四区| 中文字幕亚洲精品在线观看| 亚洲成av人片一区二区| 精品在线视频一区| av电影天堂一区二区在线| 91福利在线看| 精品国精品国产| 中文字幕佐山爱一区二区免费| 午夜欧美2019年伦理| 毛片基地黄久久久久久天堂| 成人黄色网址在线观看| 欧美日韩三级一区二区| 国产亚洲一本大道中文在线| 亚洲日本青草视频在线怡红院| 亚洲bt欧美bt精品| 国产精品99久久久久久久vr| 色综合久久久久综合| 精品国产免费一区二区三区四区 | 久久久不卡网国产精品二区| 亚洲女爱视频在线| 狠狠色丁香婷婷综合久久片| 91影视在线播放| 精品国产一区二区三区av性色| 最新中文字幕一区二区三区 | 亚洲综合成人在线视频| 久久99精品久久只有精品| 色妞www精品视频| 精品欧美久久久| 亚洲成人精品影院| 不卡区在线中文字幕| 欧美成人三级在线| 亚洲成在人线在线播放| 成人av网在线| 久久久综合精品| 男女视频一区二区| 欧美性做爰猛烈叫床潮| 国产日韩欧美一区二区三区乱码| 亚洲bdsm女犯bdsm网站| 97se亚洲国产综合自在线观| 精品福利在线导航| 日欧美一区二区| 日本高清不卡视频| 中文字幕在线不卡视频| 久久91精品国产91久久小草| 欧美在线免费视屏| 成人免费小视频| 成a人片亚洲日本久久| 国产亚洲精品超碰| 狠狠色狠狠色综合日日91app| 日韩一区和二区| 午夜精品影院在线观看| 在线观看日韩一区| 亚洲欧美日韩系列| 91网站最新地址| 亚洲欧洲www| 成人av一区二区三区| 国产精品欧美精品| 成人精品一区二区三区中文字幕| 久久这里只精品最新地址| 精品一区二区久久| 欧美sm美女调教| 国产麻豆精品95视频| ww久久中文字幕| 国产91精品精华液一区二区三区|