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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tools.c

?? FE42X單相防竊電電表DEMO(編譯器 AQ430 AQ430 V2.0.6.5)
?? C
字號:
/********************************************************************************
*					           杭州利爾達                                       *
*                 MSP430FE42X單相防竊電多功能電表平臺                           *
*                          -----  ESP SD16實現(xiàn)                                  *
*                                                                               *
*                                                                               *
* 說明:本軟件為杭州利爾達單相防竊電多功能電表DEMO軟件                          *
*                                                                               *
*********************************************************************************/

#include "msp430xe42x.h"
#include "globe.h"
#include "emeter_cfg.h"
#include "extern_function.h"




/**********************************************************************
*                     無符號 int與float 相乘                          *
***********************************************************************/
unsigned int scale_int(unsigned int i, float f)
{
	float ff;
  
  	ff = (float) i;
  	ff *= f;
  	return ((unsigned int) ff);
}

/***********************************************************************
*                     無符號 long與float 相乘                          *
***********************************************************************/  
unsigned long scale_long(unsigned long l, float f)
{
	float ff;
  
	ff = (float) l;
	ff *= f;
	return ((unsigned long) ff);
}

/**********************************************************************
*                  無符號 long轉(zhuǎn)換成BCD碼存入bcd數(shù)組                  *
*                                                                     *
* 說明:高位存入bcd數(shù)組的低字節(jié)                                       *  
***********************************************************************/  
void bin2bcd32(unsigned char bcd[5], unsigned long bin)
{
	unsigned char i,j;
	int k;
	long l;

	for (k=4;k>=0;k--)
	{
		l=bin%10;
		i = (unsigned char) l;  // remainder = character in table to display
		bin = bin/10;           // shifts right so next character can be displayed
		l=bin%10;             
		j = (unsigned char) l;  // remainder = character in table to display  
		bin = bin/10;           // shifts right so next character can be displayed    
		j=(j<<4)+i;
		bcd[k]=j;
	}
}

/**********************************************************************
*                  無符號 int轉(zhuǎn)換成BCD碼存入bcd數(shù)組                   *
*                                                                     *
* 說明:高位存入bcd數(shù)組的低字節(jié)                                       *  
***********************************************************************/
void bin2bcd16(unsigned char bcd[3], unsigned int bin)
{
	unsigned char i,j;
	int k;
	int l;

	for (k=2;k>=0;k--)
	{
		l=bin%10;
		i = (unsigned char) l;  // remainder = character in table to display
		bin = bin/10;           // shifts right so next character can be displayed
		l=bin%10;    
		j = (unsigned char) l;  // remainder = character in table to display  
		bin = bin/10;           // shifts right so next character can be displayed    
		j=(j<<4)+i;
		bcd[k]=j;
	}
}

/*********************************************************************
*                          Flash工具                                 *
**********************************************************************/
void flash_clr(int *ptr)
{
  	_DINT();
  	FCTL3 = FWKEY;          			/* Lock = 0 */
  	FCTL1 = FWKEY | ERASE;
  	*((int *) ptr) = 0;       			/* Erase flash segment */
}

void flash_memcpy(char *ptr, char *from, int len)
{
  	_DINT();
  	FCTL3 = FWKEY;          			/* Lock = 0 */
  	FCTL1 = FWKEY | WRT;
	while (len)
	{
	  	*ptr++ = *from++;
	  	len--;
	}
}

void flash_secure(void)
{
  	_DINT();
  	FCTL1 = FWKEY;          			/* Erase, write = 0 */
  	FCTL3 = FWKEY | LOCK;
	_EINT();
}
// End of Flash Tool

char store_flash_var(char *ptr,char *from, int len)
{
    char * tmp;
    char i;
    flash_clr((int *)ptr);
    flash_memcpy(ptr, from, len);
    flash_secure();
    tmp = ptr;
    for(i=0;i<len;i++)
    {
        if(*tmp++ != *from++)
            return(0);
    }
    return(1);
}
/**********************************************************************
*                          防竊電測量工具                             *
***********************************************************************/
void CheckExternVoltage(void)
{
	/* 電網(wǎng)電壓檢測口 */
	//P1SEL &= ~BIT4;
	//P1DIR &= ~BIT4;
	//if((P1IN & BIT4) == BIT4)
  	//{
  	    // 外部電壓傳感信號存在
  	    emeter.ui_anti_tamperring_status |= EXTERN_VOLTAGE_SENSOR;
  	//}
  	//else
  	//{
  		// 沒有外部電壓傳感信號存在
  	//	emeter.ui_anti_tamperring_status &= ~EXTERN_VOLTAGE_SENSOR;
  	//}
}
void EnterSD16Measure (void)
{
	// 若已在SD16測量模式,則跳過
	if((emeter.ui_anti_tamperring_status & IN_SD16_MEASURE_MODE) == 0)
	{
		init_analog_front_end_SD16();
		TACCTL0 &= ~CCIE;	// Disable TimerA CCR0 Interrupt
		emeter.uc_switch_delay_counter = 0;
		emeter.ui_anti_tamperring_status |= IN_SD16_MEASURE_MODE;
		ClrDispVary(1);
		SCFI0 = FLLD_1;  			    /* Freq = 1.024MHz */
    	SCFQCTL = 32 - 1;
    	FLL_CTL0 |= DCOPLUS;
	}			
}
void ExitSD16Measure (void)
{
	// 若已不在SD16測量模式,則跳過
	if((emeter.ui_anti_tamperring_status & IN_SD16_MEASURE_MODE) == IN_SD16_MEASURE_MODE)
	{
		SD16CCTL2 &= ~SD16SC;
		SD16CTL &= ~SD16REFON; // Switch Reference off
		emeter.ui_anti_tamperring_status &= ~IN_SD16_MEASURE_MODE;
	}
}
void EnterESPMeasure (void)
{
	// 若已在ESP測量模式,則跳過
	if((emeter.ui_anti_tamperring_status & IN_ESP_MEASURE_MODE) == 0)
	{
		/* 提升主頻到 8MHz */
    	SCFI0 = FN_3 | FLLD_4;
    	SCFQCTL = 64 - 1;
		init_analog_front_end_ESP();	// 初始化模擬前端
  		init_esp_parameter();	// 初始化ESP參數(shù)寄存器
  		start_measurement();	// 進入測量模式
  		TACTL = TACLR  | TASSEL_1;
 		TACTL |= MC_2;
 		TACCR0 = SAMPLE_PERIOD;
  		TACCTL0 |= CCIE;	// Enable TimerA CCR0 Interrupt
  		emeter.uc_switch_delay_counter = 0;
  		emeter.ui_anti_tamperring_status |= IN_ESP_MEASURE_MODE;
  		
	}
}
void ExitESPMeasure (void)
{
	// 若已不在ESP測量模式,則跳過
	if((emeter.ui_anti_tamperring_status & IN_ESP_MEASURE_MODE) == IN_ESP_MEASURE_MODE)
	{
		MBOUT1= modeIDLE; // ESP_IDLE;
        MBOUT0= mSET_MODE;
        while ((ESP430_STAT0 & ACTIVEME) == ACTIVEME); // Wait for Idle mode
        if ((ESP430_STAT0 & ACTIVEME) == 0) 
        {
        	ESPCTL = 0;
        	// wait 10 clock till proper access to the SD16 is possilbe (9 clock are required)
        	_NOP();_NOP();_NOP();_NOP();_NOP();
       		_NOP();_NOP();_NOP();_NOP();_NOP();
       		SD16CTL &= ~SD16REFON; // Switch Reference off
       	}
       	emeter.ui_anti_tamperring_status &= ~IN_ESP_MEASURE_MODE;
	}
}
void SwitchToSD16Measure(void)
{
	ExitESPMeasure();
	EnterSD16Measure();
	emeter.ui_anti_tamperring_status &= ~IN_ONLY_RTC_MODE;
}
void SwitchToESPMeasure(void)
{
	ExitSD16Measure();
	EnterESPMeasure();
	emeter.ui_anti_tamperring_status &= ~IN_ONLY_RTC_MODE;
}
void OnlyRTCMode(void)
{
	ExitSD16Measure();
	ExitESPMeasure();
	TACCTL0 &= ~CCIE;	// Disable TimerA CCR0 Interrupt
	SVSCTL = 0;
	if((emeter.ui_anti_tamperring_status & IN_ONLY_RTC_MODE) == 0)
	{
		emeter.ui_anti_tamperring_status |= IN_ONLY_RTC_MODE;
		ClrDispVary(0);
	}
}
void ClrDispVary(unsigned char OpMode)
{
	if(OpMode = 1)
	{
		emeter.ui_voltage_V1RMS = 0;
    	emeter.ui_current_IRMS = 0;
    }
    emeter.ul_react_power = 0;
    emeter.ul_app_power = 0;
    emeter.ui_main_frequency = 0;
    emeter.ui_power_factor = 0;
    emeter.ul_act_power1 = 0;
    emeter.ul_act_power2 = 0;
}
 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线精品不卡| 久久不见久久见中文字幕免费| 久久久久久综合| 久久精品人人做人人爽人人| 精品国产精品一区二区夜夜嗨| 欧美日韩视频在线观看一区二区三区| 成人av免费在线观看| 91色.com| 欧美影院一区二区| 91麻豆精品国产91久久久使用方法| 欧美日韩一区在线观看| 日韩免费视频线观看| 国产精品成人在线观看| 爽好多水快深点欧美视频| 欧美亚洲高清一区| 亚洲欧美精品午睡沙发| 国产·精品毛片| 欧美激情综合在线| 激情文学综合插| 精品国产伦一区二区三区免费| 亚洲小说欧美激情另类| 成人精品视频一区| 欧美一级高清片在线观看| 国产精品私房写真福利视频| 日本不卡一二三| 色综合久久天天| 国产精品无遮挡| 欧美高清在线一区| 麻豆精品在线观看| 欧美视频一区在线| 国产精品国产馆在线真实露脸| 男女男精品视频网| 欧美日韩色综合| 亚洲第一福利视频在线| 91美女片黄在线| 国产精品久久免费看| 精品一区二区免费在线观看| 欧美日韩免费不卡视频一区二区三区| 中文字幕高清一区| 国产在线视视频有精品| 欧美sm美女调教| 日韩中文字幕不卡| 久久久久久久性| 久久机这里只有精品| 成a人片国产精品| 精品国产91九色蝌蚪| eeuss国产一区二区三区| 一区二区三区在线视频免费观看| 在线不卡中文字幕播放| 狠狠色综合色综合网络| 337p日本欧洲亚洲大胆色噜噜| 国产a级毛片一区| 国产亚洲欧美日韩日本| 色av成人天堂桃色av| 日韩vs国产vs欧美| 国产午夜精品一区二区三区视频| av成人老司机| 日本v片在线高清不卡在线观看| 久久影音资源网| 欧美系列在线观看| 国产乱码精品一区二区三| 亚洲综合在线免费观看| 6080日韩午夜伦伦午夜伦| 国产91丝袜在线播放| 亚洲va欧美va天堂v国产综合| 久久久午夜电影| 欧美老年两性高潮| 色悠久久久久综合欧美99| 精品一区二区三区欧美| 亚洲一区二区在线观看视频| 久久久99精品免费观看| 555www色欧美视频| 欧美日韩在线直播| 激情综合色丁香一区二区| 一本色道综合亚洲| 成人免费三级在线| 日韩午夜激情电影| 亚洲综合激情网| 91美女视频网站| 亚洲免费色视频| 欧亚洲嫩模精品一区三区| 亚洲欧美国产毛片在线| 色综合久久久久网| 日韩av网站免费在线| 亚洲精品一区在线观看| 99v久久综合狠狠综合久久| 亚洲精品一二三四区| 欧美老女人第四色| heyzo一本久久综合| ...xxx性欧美| 欧美一区二区在线免费观看| 国产一区二区三区| 综合色中文字幕| 欧美大片顶级少妇| 91久久人澡人人添人人爽欧美| 国产精品国产精品国产专区不蜜| 欧美一区二区三区四区在线观看| 波多野结衣在线一区| 老色鬼精品视频在线观看播放| 日韩美女视频一区| 日本一区二区三区在线不卡| 91蜜桃免费观看视频| 国产精品中文有码| 综合亚洲深深色噜噜狠狠网站| 久久综合久久99| 亚洲国产精品久久人人爱蜜臀 | 在线一区二区三区四区| 亚洲人午夜精品天堂一二香蕉| 97se亚洲国产综合自在线观| 午夜私人影院久久久久| 日韩一区二区三区四区五区六区| 国产一区二区三区免费看| 国产午夜精品久久久久久免费视 | 91精品国产综合久久精品| 盗摄精品av一区二区三区| 亚洲图片欧美一区| 国产精品久久久爽爽爽麻豆色哟哟| 成人av电影在线观看| 国产一区999| 喷水一区二区三区| 日韩成人免费电影| 亚洲综合小说图片| 亚洲综合成人在线视频| 亚洲三级免费观看| 国产精品久久久久久久第一福利| 国产精品天美传媒| 精品国产乱子伦一区| 日韩午夜激情视频| 欧美不卡在线视频| 精品久久免费看| 久久蜜桃一区二区| 国产午夜精品久久| 成人欧美一区二区三区白人| 中文字幕在线观看不卡视频| 亚洲视频免费在线观看| 亚洲精品五月天| 亚洲成av人片| 老司机精品视频线观看86| 97精品国产露脸对白| 日本高清免费不卡视频| 欧美激情综合五月色丁香小说| 亚洲一区二区三区国产| 综合色中文字幕| 亚洲在线视频免费观看| 欧美在线免费观看视频| 日韩一区精品字幕| 一区二区三区丝袜| 欧美一级在线视频| 国产不卡免费视频| 亚洲国产成人高清精品| 国产欧美一区二区精品仙草咪| 91精品午夜视频| 91视频国产资源| 韩国女主播成人在线观看| 一区二区三区美女视频| 国产欧美日本一区视频| 欧美日韩精品系列| 欧美日本在线看| 国产女人aaa级久久久级 | 久久精品国产99国产精品| 国产成人久久精品77777最新版本| www.99精品| 日韩美女视频一区二区在线观看| 中文字幕精品—区二区四季| 日韩激情一二三区| 岛国精品在线播放| 日韩一区二区视频在线观看| 国产精品人妖ts系列视频| 一区二区三区产品免费精品久久75| 裸体健美xxxx欧美裸体表演| 色婷婷久久久综合中文字幕 | 蜜桃视频在线一区| 成人午夜大片免费观看| 99精品国产热久久91蜜凸| 欧美xfplay| 亚洲高清免费观看高清完整版在线观看| 国产一区二区精品久久99| 欧美日韩国产影片| 天天综合天天做天天综合| av午夜一区麻豆| 亚洲一区二区在线免费观看视频| av动漫一区二区| 日韩高清不卡一区二区| 日本一区二区三区国色天香| 国产在线国偷精品免费看| 欧美吻胸吃奶大尺度电影| 一区二区三区四区视频精品免费 | 日日摸夜夜添夜夜添精品视频 | 制服丝袜一区二区三区| 欧美日韩一本到| 欧美老年两性高潮| 日韩视频一区二区三区在线播放 | 国产精品乡下勾搭老头1| 国产成人综合在线| 亚洲一区二区三区爽爽爽爽爽| 欧美在线视频日韩| 麻豆久久久久久久| 欧美激情一区二区三区蜜桃视频 | 一区二区理论电影在线观看| 99亚偷拍自图区亚洲|