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

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

?? meterage.c

?? 采樣高壓電流
?? C
?? 第 1 頁 / 共 4 頁
字號:
#include  <msp430x42x.h>
#include  <math.h>
#include  <stdlib.h>

#define CURRENT_CH_1_GAIN                   SD16GAIN_1
#define CURRENT_CH_2_GAIN                   SD16GAIN_16
#define VOLTAGE_CH_GAIN                     SD16GAIN_1

#define SD16CONF0_FUDGE     0xC0
#define SD16CONF1_FUDGE     0x40

#define  uint   unsigned int
#define  ulong  unsigned long  

//char        c_emission_times;//一次通訊過程中的發射次數
char        c_emission_stat;// 通訊2s不成功再發送標志

char        c_work_start;//開始正常工作標志(在變量初始化時置1,新表時為零在電貓1和2聯絡成功后置為1此時電貓才能開始采樣及定時發射等工作)
//char        c_emission_failure;//在定時發射通訊過程中通訊失敗標志,每次最多通訊4次
char        c_emission_return;//定時發射接收電貓2返回成功標志
//char        c_emission_failure_times;//5分鐘定時發射沒有通訊成功的總的失敗次數
char        c_comm_succeed;//定時發射成功標志
char        c_half_second_sign;// 0.5s標志
char        c_1s_sign;// 1s標志
char        c_sec_count;
char        c_min_count;
char        c_min5_stat;
char        c_1m_sign;
char       	c_4s_sign_count;
char        c_rf_stat;//正常工作過程中的定時發射標志
char        c_5s_stat;
char        c_second_count_start;
uint         ui_over_i_verify;//短路電流判斷

char     	c_low_mode;//c_low_mode--0:正常耗模式 1:低功耗休眠模式 3:喚醒模式
char     	c_day1;
char     	c_month1;
char     	c_year1;
char     	c_second1;
char     	c_minute1;
char     	c_hour1;

char     	c_i2c_rx_count;//c_i2c_rx_count--i2c讀取長度
char     	c_i2c_rx_buf[20];
char     	c_i2c_tx_count;
char     	c_i2c_tx_buf[20];
char     	c_i2c_read_stat;
char     	c_i2c_write_stat;
char     	c_i2c_rx_buf_bak[20];

//char     	c_stop_second;//c_stop_second--停電喚醒時間計數器


char     	c_rx1_num;//c_rx1_num--通訊接收計數器
char     	c_rx1_count;//c_rx1_count--通訊接收長度
char     	c_tx1_num;
char     	c_comm1_stat;//c_comm1_stat--通訊狀態
char     	c_comm1_end;//485通信結束標志
char     	c_comm1_delay;
char     	c_meter_id[6];//表號新表默認88
char     	c_user_id[6];//用戶號
char     	c_equip_id[6];//設備號
char     	c_pass[3][3];//填充密碼用
//char     	c_p_timer[4];//c_p_timer[4]--A\B\C\總 電能余數計數器
//char     	c_p_timer;//Ah余數計數器


//char 	c_bat_vol;//c_bat_vol--電池電壓//??????????????????????????????
char 	c_stop_bat_vol;//停電抄表電池電壓//??????????????????????????????
//ulong 	ul_bat_work;//電池工作時間
//ulong    	ul_p_pulse_const;//ul_p_pulse_const--有功、基波、視在發脈沖常數
//ulong    	ul_q_pulse_const;//ul_q_pulse_const--無功發脈沖常數
char		c_ray_alarm_stat;//c_ray_alarm_stat--光控報警控制字
char       	c_watchdog_count;


char     	c_meter_stat;//c_meter_stat--電表狀態指示 7:失壓 6:過壓 5:逆相序  4:斷相報警   3:編程開關按下 2:需量正在清零 1:2是否有通信 0:1是否有通信 
char        c_com_rest_count;//通訊超時復位計數器

char     	c_modify_par;//通信程序修改參數后重新從e2中讀出參數并進行配置(時段等)
char     	c_meter_start;//電表啟動標志字 0-剛剛啟動有些功能不進行處理(斷相、失壓、電壓合格率、顯示等)
char     	*c_pointer;
//ulong    	*ul_pointer;
char     	*c_rx_pointer;
char     	*c_tx_pointer;
char     	c_sample_count;//c_sample_count--ad采樣計數變量

char        c_i_computation;//電流計算標志
char     	c_comm_error;//通信錯誤信息字:0非法數據 1數據標識錯 2密碼錯 4年數區數超 5日時段數超 6費率數超
char     	c_data_length;//通信數據內容的數據長度
char     	c_clear_meter;//c_clear_meter--1:新表 2:總清 3:需量清零(編程按鍵按下,670703,下翻5秒新表。960101,下翻5秒總清。其他日期,下翻5秒需清)
char        c_over_i_stat;

char bg,bg1,bg2,bg3;

int      	i_i_from_ad[20];//AD采樣電流值
int           i_bat_from_ad[20];//電池電壓采樣值
int           i_averag;//電池電壓采樣平均值

//ulong      ul_Ah_residual;//Ah余數計數器
ulong    	ul_temp;
ulong     ul_Ah_emission;//發送5分鐘內Ah數
uint        ui_Ah_residual;//Ah余數計數器

long        l_averag;//電流采樣平均值
long        l_i_accumulate;//電流采樣累加值
long        l_bat_accumulate;
float    	f_i_value;//電流計算中間值
float		f_scale_equalize;
char       c_work_start_flag;

char      c_thief_start;
char		c_thief_end;
char		c_thief_start_1;
ulong    	ul_thief_time;//竊電時間計算中間值
ulong     ul_thief_Ah;//竊電Ah計算中間值


__no_init ulong ul_Ah_bcd @ 0x200;//當前 總Ah
__no_init char c_rx1_buf[24] @ 0x214;
__no_init char c_tx1_buf[60] @ 0x22c;
__no_init char c_tx1_count @ 0x268;
__no_init char c_week @ 0x269;
__no_init char c_day @ 0x26a;
__no_init char c_month @ 0x26b;
__no_init char c_year @ 0x26c;
__no_init char c_second @ 0x26d;
__no_init char c_minute @ 0x26e;
__no_init char c_hour @ 0x26f;

__no_init char c_err_stat @0x270;//c_err_stat--錯誤狀態 7: 6:電量走飛 5:電能潮向改變(任1相反向) 4:存儲器故障 3:電壓逆相序 2:時鐘異常 1:電池低 0:外部主晶振故障 
__no_init char c_inside_par @ 0x271;//c_inside_par--測試參數 7: 6:(0-ee正常 1-ee故障) 5: 4:485低端低 3: 2:(0-電池正常 1-電池欠電) 1: 0:(0-正常上電 1=未上電)

__no_init char c_meter_stat1 @ 0x272;//c_meter_stat1--電表運行狀態 7: 6:C相斷流 5:B相斷流 4:A相斷流 3:逆相序 2:C相斷電 1:B相斷電 0:A相斷電
__no_init char c_bat_vol @ 0x273;//--3.6V電池電壓
__no_init ulong ul_i_bcd @ 0x274;//瞬時電流
__no_init char c_meter_stat2 @ 0x278;//c_meter_stat1--電表運行狀態 7: 6:C相斷流 5:B相斷流 4:A相斷流 3:逆相序 2:C相斷電 1:B相斷電 0:A相斷電



const unsigned char gc_day_table[12]={31,28,31,30,31,30,31,31,30,31,30,31};//每月的天數
const unsigned int  gc_month_table[12]={0,31,59,90,120,151,181,212,243,273,304,334};//累計天數

const unsigned char uc_comm_table[]={
	/*
	此表為通信編程順序表,表格排列順序如下:
	--通信序號(2), 
	--起始地址(2),(最高位為1時代表數據是內存中的數據此時的地址是對應0x1100的偏移量,對應e2的地址是實際地址)
	--數據長度(1), 
	--密碼控制權限(1).(其中為數據 為0表示R,為1表示R/W) 
	--每個量占6個字節  //unsigned long i1,i2,i3;思路決定出路,智商引領工商,清泉之澈、流水之潤’,你說這是什么意思?我說,‘估計前一句是教你如何做事,后一句是教你如何待人。

*/
	
	0xb6,0x7e,0x00,0x0a,4,0,/*內部測試參數程序名4,程序序列號3,版本號1*/  // 0          
	0xb6,0x7d,0x00,0x0e,2,0,/*內部測試參數,電能芯片1,小版本號1*/            
	
	0xc0,0x32,0x01,0x00,6,1,/*電貓設備號 */
	0xc3,0x17,0x82,0x00,4,0,/* 安培小時數 */ //0x106
	0xb6,0x21,0x82,0x74,3,0,/* 當前電流 */
	0xc0,0x10,0x82,0x69,4,1,/*日期及周次*/                              // 5
	0xc0,0x11,0x82,0x6d,3,1,/*時間*/
	0xb6,0x76,0x82,0x73,1,0,/* 3.6v電池電壓 */
	0xb7,0x40,0x82,0x70,1,0,/* 故障狀態字 */
	0xc5,0x20,0x00,0xf6,1,0,/* 總清次數 */
	0xe9,0x10,0x00,0xf4,2,1,/* 電流調整系數 */                 //10


	
	0xe0,0x30,0x01,0x0a,5,0,/* 最近1次短路時間 */
	0xe0,0x31,0x01,0x0f,5,0,/* 最近2次短路時間 */
	0xe0,0x32,0x01,0x14,5,0,/* 最近3次短路時間 */
	0xe0,0x33,0x01,0x19,5,0,/* 最近4次短路時間 */
	0xe0,0x34,0x01,0x1e,5,0,/* 最近5次短路時間 */                // 15
	0xe0,0x35,0x01,0x23,5,0,/* 最近6次短路時間 */
	0xe0,0x36,0x01,0x28,5,0,/* 最近7次短路時間 */
	0xe0,0x37,0x01,0x2d,5,0,/* 最近8次短路時間 */
	0xe0,0x38,0x01,0x32,5,0,/* 最近9次短路時間 */
	0xe0,0x39,0x01,0x37,5,0,/* 最近10次短路時間 */              // 20
	0xe0,0x3a,0x01,0x3c,1,0,/* 短路總次數 */
	
	0xe0,0x40,0x01,0x41,8,0,/* 最近1次竊電記錄 */
	0xe0,0x41,0x01,0x49,8,0,/* 最近2次竊電記錄 */
	0xe0,0x42,0x01,0x51,8,0,/* 最近3次竊電記錄 */
	0xe0,0x43,0x01,0x59,8,0,/* 最近4次竊電記錄 */               //25
	0xe0,0x44,0x01,0x61,8,0,/* 最近5次竊電記錄 */
	0xe0,0x45,0x01,0x69,8,0,/* 最近6次竊電記錄 */
	0xe0,0x46,0x01,0x71,8,0,/* 最近7次竊電記錄 */
	0xe0,0x47,0x01,0x79,8,0,/* 最近8次竊電記錄 */
	0xe0,0x48,0x01,0x81,8,0,/* 最近9次竊電記錄 */              // 30
	0xe0,0x49,0x01,0x89,8,0,/* 最近10次竊電記錄 */
       0xe0,0x4a,0x01,0x91,4,0,/* 竊電總時間 */                           // 32
       
};

void read_f24c16(unsigned int ui_read_add,unsigned char c_count);
void i2c_read_one(void);
void write_time(unsigned char c_timm_add,unsigned char c_timm_count);
void write_f24c16(unsigned int ui_write_add,unsigned char c_count);
void i2c_write_one(void);
//void read_time(void);
//void init_module(void);
unsigned long bcd_hex_long(unsigned long gl_bcd);
unsigned long hex_bcd_long(unsigned long gl_hex);
unsigned int bcd_hex_int(unsigned int gi_bcd);
unsigned int hex_bcd_int(unsigned int gi_hex);
unsigned char bcd_hex_char(unsigned char gc_bcd);
unsigned char hex_bcd_char(unsigned char gc_hex);
 void init_sys(void);
 void init_fll(void);
 void goto_high_freq(void);
// void init_bt(void);
// void init_TA(void);
 void init_variable(void);
 void init_module(void);
 void read_time(void);
 void delay(unsigned int count);
 void init_analog_front_end_SD16(void);
 void read_int(void);
 void par_init(void);//parameter initialize參數初始化(讀出已經設置的內部參數)
 void new_meter(void);
 void judge_week(void);
void do_comm1(void);
void do_comm(void);
unsigned char check_set_bcd(unsigned char gc_start_add,unsigned char gc_data_len);
void all_clear(void);
void par_save(void);


union    {unsigned long high;unsigned int middle;unsigned char low[4];}convert;
union    {unsigned int ui_add;unsigned char c_add[2];}add,add1;

#pragma vector = USART0RX_VECTOR
__interrupt void UART1_RX() // interrupt[ESP430_VECTOR] void esp_isr (void)
{
	unsigned char i1,i2,i3;
	
//	if((TBCCTL0 & 0x10)==0x10)//當進行ad變換時允許中斷嵌套
//		_EINT();
	
 	c_comm1_end=1;
//	if(c_baud_stat_3s!=0)
//		c_baud_stat_3s=1;
	c_rx1_buf[c_rx1_num]=U0RXBUF;
	c_rx1_num++;
	if(c_rx1_num==1)
	{
		if(c_rx1_buf[0] != 0x68)
		{
			c_rx1_buf[0]=0;
			c_rx1_num=0;
		}
		//else
		//{
		//	P2IE=P2IE&0x7f;//禁止中斷
		//	ui_comm1_low=65535;
		//	P2IES=P2IES|0x80;//改為下降沿
		//}
	}
	else
    	{
    		if(c_rx1_num==8)  //判斷地址域
		{
			i2=0;
			i3=0;
			for(i1=1;i1<7;i1++)
			{
				if(c_rx1_buf[i1]==0x99)//廣播命令回答本表號
					i3=i3+1;
			}
			if(i3!=6)
			{
				i3=0;
				for(i1=1;i1<7;i1++)
				{
					if(c_rx1_buf[i1]==0xaa)//廣播命令回答本表號
						i3=i3+1;
				}
				if(i3!=6)
				{
					for(i1=0;i1<6;i1++)
					{
						if(c_rx1_buf[i1+1] != c_meter_id[i1])
						{  //判斷既不是廣播命令也不是本表號
							i2=0xff;
						}   		
					}
				}
			}

			if(c_rx1_buf[7]!=0x68)
				i2=0xff;

			if(i2 != 0)
			{	
				c_rx1_num=0;
				c_rx1_count=0;
				c_rx1_buf[0]=0;
			}
		}
    		else
		{	
			if(c_rx1_num==10)//判斷長度		
			{
				if(c_rx1_buf[9]==0)
					c_rx1_count=12;//無數據
				else
				{
					if(c_rx1_buf[9] > 50)
					{
						c_rx1_num=0;//寫入長度>50無效
					}
					else 
						c_rx1_count=c_rx1_buf[9]+12;
				}
			}
			else
			{
				if(c_rx1_num==c_rx1_count)//接收完全
				{
				
					if(c_rx1_buf[c_rx1_num-1]==0x16)//結束符對否
					{
						i2=c_rx1_buf[0];
						for(i1=1;i1<=(c_rx1_count-3);i1++)//加和效驗
						{
							i2=i2+c_rx1_buf[i1];
						}

						if(i2==c_rx1_buf[c_rx1_count-2])//效驗正確否
						{
						//       if(c_rx1_buf[10]==0x44 && c_rx1_buf[11]==0x13)
						//	   	c_relation_stat=1;
							i2=0;
							for(i1=1;i1<7;i1++)
							{
								if(c_rx1_buf[i1]!=0x99)//判斷是否是廣播命令
									i2=0xff;
							}
							if(i2==0)//廣播命令只處理廣播校時及設表號及廣播凍結,載波凍結
							{
								//if(c_rx1_buf[8]==0x08 || c_rx1_buf[8]==0x0a || c_rx1_buf[8]==0x19 || c_rx1_buf[8]==0x12)
								if(c_rx1_buf[8]==0x08 || c_rx1_buf[8]==0x0a )
								i2=0xff;
								//0x08--廣播校時 0x0a--寫設備地址 0x19--
							}
							
							if(c_rx1_buf[2]==0xaa)
							{
								i2=0;
								if((c_rx1_buf[10]==0x65 && c_rx1_buf[11]==0xf3) ||(c_rx1_buf[10]==0x43 && c_rx1_buf[11]==0xf3)
														||(c_rx1_buf[10]==0x44 && c_rx1_buf[11]==0xf3))//讀寫表號、時間
									i2=0xff;
							}
							
							if(i2==0xff)
							{
								for(i1=10;i1<=(c_rx1_count-3);i1++)
								{
									c_rx1_buf[i1]=c_rx1_buf[i1]-0x33;//數據減33H格式化處理
								}
								if(c_rf_stat==1)
								{
									c_rf_stat=0;
									c_emission_return=1; 
									c_comm_succeed=1;
								}
								
								c_comm1_stat=0xaa;
								c_meter_stat=c_meter_stat | 0x02;//c_meter_stat--電表狀態指示 7:失壓 6:過壓 5:逆相序  4:斷相報警   3:編程開關按下 2:需量正在清零 1:2是否有通信 0:1是否有通信 
								if((SVSCTL&0x01)==1)
								{	
								//	P1OUT&=0xef;//關閉無線模塊控制腳

								}

							}
						}
					}
					c_rx1_num=0;
					c_rx1_count=0;
				}
			}
		}
    	}		
	c_com_rest_count=0;
}

#pragma vector = USART0TX_VECTOR
__interrupt void UART1_TX()
{

       c_tx1_num++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品噜噜噜成人av农村| 调教+趴+乳夹+国产+精品| 国产乱码精品1区2区3区| 337p粉嫩大胆噜噜噜噜噜91av| 国内精品第一页| 国产欧美一区二区三区在线老狼 | 午夜精品久久久| 91精品国产综合久久精品图片| 男男成人高潮片免费网站| 26uuu国产一区二区三区 | 成人黄色av电影| 亚洲伦理在线精品| 欧美日韩国产片| 狠狠色丁香九九婷婷综合五月| 欧美韩国日本综合| 色婷婷综合在线| 蜜臀va亚洲va欧美va天堂| 国产欧美视频一区二区三区| 91国产精品成人| 免费日韩伦理电影| 亚洲素人一区二区| 日韩一区二区电影在线| 成人激情综合网站| 午夜日韩在线电影| 国产亚洲婷婷免费| 欧美日韩不卡视频| 国产99一区视频免费| 亚洲第一会所有码转帖| 国产亚洲精品免费| 制服丝袜日韩国产| av电影天堂一区二区在线观看| 石原莉奈一区二区三区在线观看| 国产亚洲午夜高清国产拍精品 | 欧美一区二区三区视频免费 | 激情av综合网| 亚洲精品免费在线观看| 久久亚洲精品小早川怜子| 91在线看国产| 国产在线日韩欧美| 亚洲成人先锋电影| 国产精品卡一卡二| 日韩欧美一卡二卡| 欧美系列日韩一区| 99久久99久久精品免费看蜜桃| 精品影视av免费| 亚洲一卡二卡三卡四卡无卡久久| 国产日韩欧美制服另类| 91精品免费在线观看| 91亚洲精品乱码久久久久久蜜桃| 狠狠色狠狠色合久久伊人| 亚洲一区精品在线| 中文字幕视频一区| 久久精品日产第一区二区三区高清版 | 夜夜夜精品看看| 国产精品―色哟哟| 久久夜色精品一区| 制服视频三区第一页精品| 色呦呦国产精品| 成人激情午夜影院| 国产精品夜夜爽| 精品一区二区久久| 天天操天天综合网| 香蕉加勒比综合久久| 亚洲欧美另类在线| 日韩一区在线看| 中文字幕中文字幕一区二区| 欧美激情一区二区三区全黄 | 精品福利一区二区三区免费视频| 欧美日韩亚洲综合| 欧美日韩精品一区二区三区四区| 在线亚洲一区二区| 色乱码一区二区三区88| 99re这里只有精品6| 一本大道av伊人久久综合| 91网站在线播放| 在线中文字幕一区二区| 欧美三级电影网站| 91超碰这里只有精品国产| 欧美精选在线播放| 日韩一区和二区| 欧美成人三级在线| 国产视频一区二区在线| 国产精品全国免费观看高清| 国产精品色在线| 亚洲欧美激情小说另类| 亚洲激情在线激情| 亚洲 欧美综合在线网络| 日韩电影免费在线| 激情小说欧美图片| 波多野结衣亚洲| 色婷婷av一区二区三区软件| 欧洲视频一区二区| 欧美一级片在线| 2021久久国产精品不只是精品| 国产欧美精品国产国产专区| 中文字幕一区二区三区色视频| 亚洲精品自拍动漫在线| 亚洲www啪成人一区二区麻豆| 人人精品人人爱| 国产精品99久久久久久宅男| 91在线无精精品入口| 欧美日韩二区三区| 久久久av毛片精品| 最新国产成人在线观看| 天堂蜜桃91精品| 国产激情一区二区三区四区 | 666欧美在线视频| 欧美日本不卡视频| 日韩欧美另类在线| 国产欧美日韩另类一区| 亚洲裸体xxx| 免费成人在线网站| 粉嫩aⅴ一区二区三区四区| 91理论电影在线观看| 在线综合+亚洲+欧美中文字幕| 久久一夜天堂av一区二区三区| 亚洲日本青草视频在线怡红院| 亚洲国产欧美在线| 国产电影一区二区三区| 精品视频全国免费看| 欧美精品一区二区蜜臀亚洲| 国产精品福利在线播放| 首页国产丝袜综合| 成人免费va视频| 欧美精品99久久久**| 97久久精品人人爽人人爽蜜臀| 欧美综合久久久| 国产亚洲综合色| 日本va欧美va瓶| 91一区一区三区| 欧美精品一区二区三区在线| 日韩精品高清不卡| 99re在线精品| 国产日韩亚洲欧美综合| 奇米一区二区三区| 欧美在线视频日韩| 国产精品免费网站在线观看| 奇米在线7777在线精品 | 欧美群妇大交群的观看方式| 亚洲国产高清不卡| 精品亚洲porn| 欧美久久久久免费| 亚洲图片自拍偷拍| fc2成人免费人成在线观看播放| 欧美变态tickling挠脚心| 亚洲3atv精品一区二区三区| 色综合av在线| 亚洲三级在线看| 成人禁用看黄a在线| 26uuu亚洲婷婷狠狠天堂| 人人爽香蕉精品| 在线观看91av| 午夜精品影院在线观看| 色综合咪咪久久| 亚洲日本va午夜在线电影| 日本成人在线一区| 欧美日韩精品一二三区| 亚洲主播在线播放| 色哟哟一区二区三区| 国产精品久久久久久久久久免费看| 韩日精品视频一区| 91精品国产综合久久精品app| 亚洲国产一区二区三区青草影视| 色呦呦日韩精品| 亚洲激情自拍偷拍| 91久久精品一区二区| 亚洲精品美腿丝袜| 91啦中文在线观看| 亚洲激情男女视频| 日本韩国精品一区二区在线观看| 17c精品麻豆一区二区免费| 99久久er热在这里只有精品66| 国产精品国产三级国产普通话三级| 成年人国产精品| 亚洲精品久久久久久国产精华液| 日本大香伊一区二区三区| 一区二区久久久久| 欧美日韩成人一区| 日韩电影一区二区三区| 欧美哺乳videos| 国产69精品一区二区亚洲孕妇 | 在线播放/欧美激情| 三级欧美在线一区| 日韩欧美一二三区| 国产高清一区日本| 亚洲欧美日韩国产一区二区三区| 欧洲一区在线电影| 蜜臀久久99精品久久久久宅男| 精品免费一区二区三区| 成人午夜激情在线| 亚洲美女一区二区三区| 欧美一区二区三区在| 国产一区二区三区四区五区入口 | 亚洲免费在线观看| 欧美日高清视频| 国产呦精品一区二区三区网站| 中文字幕国产一区| 欧美日韩一区二区欧美激情| 久久不见久久见中文字幕免费| 国产精品理论片|