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

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

?? calibration.c

?? 430系列開發之MSP430FE42x開發代碼實例
?? C
字號:
//**************************************************************************
//    Calibration Routines for the FE427
//
//    Stefan Schauer
//    Texas Instruments Freising
//    Date        Comments
//    =====================
//    01/09/19    Code Starts for FE427

//**************************************************************************
#include "device.h"
#include "calibration.h"
#include "emeter.h"
#include "parameter.h"
#include "emeter-toolkit.h"

#include <math.h>

#ifdef withCalibration

unsigned char Cal_Mode = 0;    // Calibration Mode


void CalPlus(void)
{
    if (Cal_Mode == 1) s_parameters.pSET_INTRPTLEVL.l ++;  // 
    if (Cal_Mode == 2) s_parameters.pSET_PHASECORR1 ++;    // 
    if (Cal_Mode == 3) s_parameters.pSET_PHASECORR2 ++;    // 

    if (Cal_Mode == 4) s_parameters.pSET_V1OFFSET ++;  // 
    if (Cal_Mode == 5) s_parameters.pSET_I1OFFSET ++;    // 
    if (Cal_Mode == 6) s_parameters.pSET_I2OFFSET ++;    // 

    if (Cal_Mode == 0xA) s_parameters.VRatio += s_parameters.VRatio/1000;  // inc by 0.1%
    if (Cal_Mode == 0xB) s_parameters.IRatio += s_parameters.IRatio/1000;  // inc by 0.1% 
    if (Cal_Mode == 0xC) s_parameters.EnergyRatio += s_parameters.EnergyRatio/1000;  // inc by 0.1%

    // Init. Embedded Signal Processing parameters
    init_esp_parameter(0);
    // Init. event generation and start measurement
    start_measurement();
}

void CalMinus(void)
{
    if (Cal_Mode == 1) s_parameters.pSET_INTRPTLEVL.l --;
    if (Cal_Mode == 2) s_parameters.pSET_PHASECORR1 --;
    if (Cal_Mode == 3) s_parameters.pSET_PHASECORR2 --;

    if (Cal_Mode == 4) s_parameters.pSET_V1OFFSET --;  // 
    if (Cal_Mode == 5) s_parameters.pSET_I1OFFSET --;    // 
    if (Cal_Mode == 6) s_parameters.pSET_I2OFFSET --;    // 

    if (Cal_Mode == 0xA) s_parameters.VRatio -= s_parameters.VRatio/1000;  // dec by 0.1%
    if (Cal_Mode == 0xB) s_parameters.IRatio -= s_parameters.IRatio/1000;  // dec by 0.1% 
    if (Cal_Mode == 0xC) s_parameters.EnergyRatio -= s_parameters.EnergyRatio/1000;  // dec by 0.1%

    // Init. Embedded Signal Processing parameters
    init_esp_parameter(0);
    // Init. event generation and start measurement
    start_measurement();
}

void CalMode(unsigned char mode)
{
    float fvalue;
//    unsigned int value;
    unsigned int i = 0;
    unsigned char saved_tx_mode;
    
    Cal_Mode = mode;
    if (Cal_Mode == 0)
    {
//        float fvalue;
        saved_tx_mode = TX_Mode; // save tx_mode
        // Init. Embedded Signal Processing parameters
        s_parameters.IRatio = 1;
        s_parameters.VRatio = 1;
        s_parameters.EnergyRatio = 1;
        s_parameters.pSET_PHASECORR1 = (int) 0;
        s_parameters.pSET_PHASECORR2 = (int) 0;
        s_parameters.pSET_STARTCURR_INT = 0;
        s_parameters.pSET_STARTCURR_FRAC = 0;
//        s_parameters.pSET_INTRPTLEVL.l = 0x80000000;
        init_esp_parameter(0);
        // Init. event generation and start measurement
        start_measurement();
        while ((i++) < 3) {LPM0; } // wait for values
        fvalue = (float)((((float)POWERFCT)/POW_2_14));
        fvalue = acos(fvalue)*180/__PI;  // convert to degree
        fvalue = calPhi - fvalue;
        fvalue = (fvalue/calFreq*(POW_2_20/360));
        s_parameters.pSET_PHASECORR1 = (int) fvalue;
//        s_parameters.pSET_PHASECORR2 = (int) 0;
        
        #define CalTime 5       
        CalCyclCnt = CalTime * 50;    // Set Cycles to CalTime * 1 sec (@50Hz)
        // Init. event generation and start measurement
        start_calibration();

        while (OP_Mode != done) { LPM0; } // wait for stable values
        s_parameters.VRatio = (float) calVoltage * 1000 / V1RMS;
        #define scale (float)( (float)1000 * (float)1000 * (float)calCosPhi * (float)CalTime / (float)16 )
        s_parameters.EnergyRatio = (float) ( (float)calCurrent *  (float)calVoltage * scale / (float)energy.l );
        s_parameters.IRatio = (float) calCurrent * 1000 / IRMS_HI;
        s_parameters.IRatio = (float) (s_parameters.EnergyRatio / s_parameters.VRatio);

//        s_parameters.pSET_STARTCURR_INT = (unsigned int)(IRMS_HI * defStartCurrent / calCurrent);
//        s_parameters.pSET_STARTCURR_FRAC = (unsigned int);
//        s_parameters.pSET_INTRPTLEVL.l = (unsigned long) 0;
//        s_parameters.pSET_INTRPTLEVL.h = (unsigned long) 0;
    
        // Init. Embedded Signal Processing parameters
        init_esp_parameter(0);
        // Init. event generation and start measurement
        start_measurement();
        TX_Mode = saved_tx_mode;

    }

    if (Cal_Mode == 9)
    {
        // save Parameters
        flash_clr((int *) (&s_parameters_flash));
        {
           unsigned int i = 0;
           unsigned int ssize = sizeof(s_parameters);
           while (i < ssize)
           {
    //                    flash_write_int16((int16_t *)(&s_parameters_flash + i), ((int)((int *)((int)&s_parameters + i))) );
              char * ptemp = ((char *) &s_parameters);
              flash_write_int8((int8_t *)(((char *)&s_parameters_flash + i)), (int) ptemp[i]);
              i++;
           }
        }
        // Init. Embedded Signal Processing parameters
        init_esp_parameter(1);
        // Init. event generation and start measurement
        start_measurement();
    
        _EINT();  // Interrupts has been disabled during Flash write/erase
    }
}
#endif // withCalibration

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品亚洲日本在线桃色| 国产精品一区在线| 91精品国产综合久久久久久久| fc2成人免费人成在线观看播放| 黄色资源网久久资源365| 亚洲成人激情av| 亚洲国产日韩精品| 亚洲国产va精品久久久不卡综合| 一区二区三区av电影| 国产精品国产三级国产a| 欧美一区二区三区在| 国内精品国产成人国产三级粉色 | 国产麻豆成人精品| 亚洲国产一区二区a毛片| 亚洲自拍偷拍九九九| 精品亚洲成a人| 亚洲国产乱码最新视频| 欧美日韩免费高清一区色橹橹| 日韩**一区毛片| 久久综合五月天婷婷伊人| av电影在线观看不卡| 午夜精品福利一区二区蜜股av| 欧美tickle裸体挠脚心vk| 成人精品视频.| 久草这里只有精品视频| 一区二区三区四区在线播放| 亚洲黄网站在线观看| 成人免费在线视频| 亚洲视频网在线直播| 一区二区三区 在线观看视频| 国产精品丝袜久久久久久app| 久久久久久黄色| 欧美国产视频在线| 国产精品欧美经典| 中文字幕一区三区| 亚洲一区免费在线观看| 亚洲国产成人tv| 日本不卡在线视频| 国产成人在线视频网址| 成人美女视频在线观看18| 91视视频在线观看入口直接观看www| av一二三不卡影片| 欧美日韩国产美| 日韩一区二区在线观看视频| 久久九九99视频| 一区二区在线观看视频在线观看| 亚洲自拍偷拍九九九| 久久99精品久久久久婷婷| 激情偷乱视频一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 五月天网站亚洲| 北条麻妃国产九九精品视频| 中文字幕av资源一区| 国产精品色呦呦| 欧美日韩一区二区欧美激情| 国产aⅴ精品一区二区三区色成熟| 亚洲一区欧美一区| 欧美国产一区二区| 欧美大肚乱孕交hd孕妇| 色噜噜夜夜夜综合网| 国产乱对白刺激视频不卡| 五月天亚洲精品| 亚洲激情在线激情| 日韩一区中文字幕| 亚洲成国产人片在线观看| 国产一区二区导航在线播放| 在线一区二区三区四区五区| 久久五月婷婷丁香社区| 亚洲成人高清在线| 成人一区二区在线观看| 国产色91在线| 亚洲欧美日韩国产综合| 丝袜美腿一区二区三区| 成人av电影在线播放| 日韩一级片在线观看| 综合分类小说区另类春色亚洲小说欧美| 日韩精品亚洲专区| 欧美日本一区二区三区四区| 国产精品天干天干在观线| 蜜桃精品视频在线| 欧美日韩激情一区二区三区| 亚洲精品精品亚洲| 国产成人在线看| 亚洲精品一区二区三区香蕉| 三级久久三级久久| 色先锋久久av资源部| 国产精品素人视频| 成人毛片老司机大片| 欧美一区欧美二区| 美女视频一区在线观看| 欧美无砖专区一中文字| 亚洲免费三区一区二区| 久久99国产乱子伦精品免费| 日韩欧美你懂的| 欧美午夜宅男影院| 国产白丝网站精品污在线入口| 国产精品理论片在线观看| 久久精品一区二区| 2021久久国产精品不只是精品| 日韩午夜精品视频| 日韩免费电影网站| 日韩美女主播在线视频一区二区三区| 欧美乱妇23p| 制服丝袜中文字幕一区| 制服丝袜亚洲网站| 日韩一级片网站| 色综合一个色综合| 一区二区三区不卡在线观看 | 国产日本一区二区| 国产成人99久久亚洲综合精品| 国产午夜精品久久久久久久 | 亚洲成人av一区二区三区| 色综合咪咪久久| 午夜精品久久久久| 久久综合久色欧美综合狠狠| 成人性生交大片免费看中文 | 91精品啪在线观看国产60岁| 青娱乐精品视频在线| 久久综合九色综合97_久久久| 国产成人精品影院| 玉足女爽爽91| 欧美va在线播放| 不卡影院免费观看| 亚洲午夜成aⅴ人片| 欧美变态tickling挠脚心| 成人精品鲁一区一区二区| 亚洲色图色小说| 国产精品网站在线观看| 欧美性大战久久久久久久蜜臀| 一区二区三区四区五区视频在线观看| 国产精品一区二区在线播放| 亚洲男人都懂的| 亚洲成人三级小说| 蜜桃视频在线一区| 欧美日韩的一区二区| 日韩视频免费观看高清完整版 | 亚洲欧美日韩国产综合| 亚洲制服欧美中文字幕中文字幕| 亚洲成人一区在线| 国内精品第一页| 男人操女人的视频在线观看欧美| 国产三级三级三级精品8ⅰ区| 欧洲生活片亚洲生活在线观看| 极品少妇xxxx偷拍精品少妇| 亚洲免费观看高清完整版在线观看 | 激情综合色综合久久综合| 中文字幕乱码日本亚洲一区二区| 欧美日韩精品是欧美日韩精品| 成人av电影观看| 懂色av中文字幕一区二区三区| 亚洲一区二区视频| 亚洲欧洲日韩综合一区二区| 精品免费视频.| 日韩美女视频在线| 欧美午夜影院一区| 欧美中文字幕一二三区视频| av在线不卡免费看| 大胆亚洲人体视频| 国产一区二区三区在线观看免费视频 | 午夜精品一区二区三区免费视频 | 51精品国自产在线| 欧美丰满一区二区免费视频| 国产东北露脸精品视频| 亚洲午夜成aⅴ人片| 亚洲一区二区在线观看视频| 成人免费观看男女羞羞视频| 91精品在线免费| 久色婷婷小香蕉久久| 国产a级毛片一区| 欧美女孩性生活视频| 日本一区二区三区久久久久久久久不 | 亚洲动漫第一页| 国产一区二区在线观看视频| 色94色欧美sute亚洲13| 久久人人爽爽爽人久久久| 一区二区三区在线观看欧美| 91.com视频| 日韩一级成人av| 久久久亚洲精品石原莉奈| 久久综合久久综合九色| 久久在线观看免费| 欧美高清在线精品一区| 国产精品欧美一区喷水| 一区在线观看免费| 一区二区在线电影| 亚洲成av人综合在线观看| 亚洲成人精品一区| 精品一区二区三区免费| 久久疯狂做爰流白浆xx| 国产麻豆精品一区二区| 国产精品综合视频| 99久久精品国产导航| 欧美三级韩国三级日本三斤| 日韩一级完整毛片| 亚洲视频一区在线| 五月婷婷另类国产| 韩国午夜理伦三级不卡影院| caoporen国产精品视频| 欧美三级午夜理伦三级中视频| 日韩一区二区三区视频|