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

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

?? uart_cimr.c

?? HX-87 GPS模塊協議轉換程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
									if(uart_number==8)
										comm_error=0;	
									else comm_error=1;//num  error
									if(write_mode==2)
										{
											if(mode==1)
												{
													send_buf[16]=r_buffer[1];
													send_buf[17]=r_buffer[2];
													send_buf[18]=r_buffer[3];
													send_buf[19]=r_buffer[5]*2;
													for(i=0;i<8;i++)
														{
															send_buf[20+i]=0;
														}
												}
											if(mode==2)
												{
													send_buf[4]=r_buffer[1];
													send_buf[5]=r_buffer[2];
													send_buf[6]=r_buffer[3];
													send_buf[7]=r_buffer[5]*2;
													send_buf[8]=0;
													send_buf[9]=0;
												}
										}
									write_mode=0;
									break;
								case FUN_TEST:
									if(uart_number==8)
										{
											comm_error=0;
										}
									else comm_error=1;//num  error
									break;
								case 0x83:	
								case 0x89:
								case 0x90:
									if(uart_number==5)
										{
											comm_error=0;
										}
									else comm_error=1;//num  error
									break;//異常時的響應
								default:
									comm_error=1;
									break;//function error
							}
					}
				else		//ADDR ERROR
					{
						comm_error=1;
					}
			}
		else		//CRC  ERROR
			{
				comm_error=1;
			}
		if(comm_error==0)
			{
				comm_flag=0;
				TR2=0;
				timer2_num=timer2_num1=timer2_num2=0;
				comm_enum=0;
				comm_cnum++;
				if(comm_cnum==3)
					{
						RUN_FLAG=!RUN_FLAG;
						comm_cnum=0;
					}
				ES=1;
				RI=0;
			}
		uart_number=0;
		uart_complete=0;
	}

void ctrl_single(void)
	{
		write_mode=1;
		s_buffer[0]=SLAVE_ADDR;
		s_buffer[1]=FUN_WRITE;
		s_buffer[2]=ctrl_mode_addr[2*j];
		s_buffer[3]=ctrl_mode_addr[2*j+1];
		s_buffer[4]=0;
		s_buffer[5]=1;	//寄存器個數
		s_buffer[6]=2;	//數據字節數
		temp_u.temp_s.temp_h=receive_cmp[2*j];
		temp_u.temp_s.temp_l=receive_cmp[2*j+1];
		if(j==0)
			{
				temp_u.temp_value=((temp_u.temp_value&0x0003)|((temp_u.temp_value&0x00fc)<<4)|((temp_u.temp_value&0x0300)>>6)|((temp_u.temp_value&0x3c00)<<2)|((temp_u.temp_value&0xc000)>>10));	
			}
		s_buffer[7]=temp_u.temp_s.temp_h;
		s_buffer[8]=temp_u.temp_s.temp_l;
		crc_n(9);
		s_buffer[9]=crc_c.crc_w.crc_l;
		s_buffer[10]=crc_c.crc_w.crc_h;
		frame_send(11);
		comm_len=11;
		ctrl_change[j]=0;
		comm_flag=1;
		RCAP2H=RCAP2H_VALUE;
		RCAP2L=RCAP2L_VALUE;
		TR2=1;	
	}

void ctrl_mult(void)
	{
		for(j=0;j<8;j++)
			{
				if((ctrl_change[j]==1)&&(comm_flag==0))	//控制從機運行
					{
						ctrl_single();
					}
			}
	}

void read_state(unsigned char m)
	{
		read_mode=1;
		s_buffer[0]=SLAVE_ADDR;
		s_buffer[1]=FUN_READ;
		if((m==0)||(m==2))
			{
				s_buffer[2]=read_mode02_addr[2*rstate_num];
				s_buffer[3]=read_mode02_addr[2*rstate_num+1];
			}
		if(m==1)
			{
				s_buffer[2]=read_mode1_addr[2*rstate_num];
				s_buffer[3]=read_mode1_addr[2*rstate_num+1];
			}
		s_buffer[4]=0x00;
		s_buffer[5]=0x01;//讀取寄存器個數
		crc_n(6);
		s_buffer[6]=crc_c.crc_w.crc_l;
		s_buffer[7]=crc_c.crc_w.crc_h;
		frame_send(8);
		comm_len=8;
		comm_flag=1;
		RCAP2H=RCAP2H_VALUE;
		RCAP2L=RCAP2L_VALUE;
		TR2=1;
		
		rstate_num++;	
		if(rstate_num>=rstate_max[mode])
			{
				rstate_num=0;
			}	
	}

void func_run(unsigned char m)
	{
		if((func_change==1)&&(comm_flag==0))	//操作功能碼
			{
				s_buffer[0]=SLAVE_ADDR;
				if(m==1)	//mode=1;32字節輸入輸出
					{
						s_buffer[1]=receive_cmp[16];
						s_buffer[2]=receive_cmp[17];
						s_buffer[3]=receive_cmp[18];
						if(receive_cmp[16]==FUN_READ)	//讀功能碼
							{
								read_mode=2;
								s_buffer[4]=0x00;
								s_buffer[5]=receive_cmp[19]/2;//讀取寄存器個數
								comm_len=6;
							}
						if(receive_cmp[16]==FUN_WRITE)	//寫功能碼
							{
								write_mode=2;
								s_buffer[4]=0;
								s_buffer[5]=receive_cmp[19]/2;	//寄存器個數
								s_buffer[6]=receive_cmp[19];		//數據字節數
								for(i=0;i<receive_cmp[19];i++)
									{
										s_buffer[7+i]=receive_cmp[20+i];//設定的值
									}
								comm_len=7+receive_cmp[19];
							}
						if(receive_cmp[16]==FUN_TEST)	//測試回路功能碼
							{
								s_buffer[2]=TEST_ADDRH;//receive_cmp[17]
								s_buffer[3]=TEST_ADDRL;//receive_cmp[18]
								s_buffer[4]=TEST_DATAH;//receive_cmp[20]
								s_buffer[5]=TEST_DATAL;//receive_cmp[21]
								comm_len=6;
							}
					}
				if(m==2)	//mode=2;12字節輸入輸出
					{
						s_buffer[1]=receive_cmp[4];
						s_buffer[2]=receive_cmp[5];
						s_buffer[3]=receive_cmp[6];
						if(receive_cmp[4]==FUN_READ)	//讀功能碼
							{
								read_mode=2;
								s_buffer[4]=0x00;
								s_buffer[5]=0x01;	//讀取寄存器個數固定為1
								comm_len=6;
							}
						if(receive_cmp[4]==FUN_WRITE)	//寫功能碼
							{
								write_mode=2;
								s_buffer[4]=0x00;
								s_buffer[5]=0x01;	//寄存器個數固定為1
								s_buffer[6]=0x02;	//數據字節數
								s_buffer[7]=receive_cmp[8];//設定的值
								s_buffer[8]=receive_cmp[9];
								comm_len=9;
							}
						if(receive_cmp[4]==FUN_TEST)	//測試回路功能碼
							{
								s_buffer[2]=TEST_ADDRH;//receive_cmp[5]
								s_buffer[3]=TEST_ADDRL;//receive_cmp[6]
								s_buffer[4]=TEST_DATAH;//receive_cmp[8]
								s_buffer[5]=TEST_DATAL;//receive_cmp[9]
								comm_len=6;
							}
					}
				crc_n(comm_len);
				s_buffer[comm_len]=crc_c.crc_w.crc_l;
				s_buffer[comm_len+1]=crc_c.crc_w.crc_h;
				comm_len=comm_len+2;
				frame_send(comm_len);
				func_change=0;
				comm_flag=1;
				RCAP2H=RCAP2H_VALUE;
				RCAP2L=RCAP2L_VALUE;
				TR2=1;
			}
	}
//*****************************************************************************
void uart_run(void)
	{
		if(mode==0)
			{
				ctrl_mult();	//控制從機運行
				if(comm_flag==0)//讀取變頻器信息
					{
						read_state(mode);
					}
			}
		if((mode==1)||(mode==2))
			{
				ctrl_mult();	//控制從機運行
				func_run(mode);
				if(comm_flag==0)//讀取變頻器狀態和故障信息
					{
						read_state(mode);
					}
			}
			
		if(timer2_num>=20)//400ms
			{
				timer2_num=0;
				comm_error=1;
				timer2_num1++;
			}
			
		if(timer2_num2>=100)// 1.6s發送多次收不到回應時,發數據的間隔加大
			{
				timer2_num2=0;
				timer2_num=0;
				comm_error=1;
			}
			
		if(comm_error==1)
			{	
				comm_enum++;
				comm_error=0;
				RI=0;
				ES=1;
				uart_number=0;
				uart_complete=0;

				if(comm_enum==5)
					{
						comm_enum=0;
						comm_flag=0;
					}
				else frame_send(comm_len);
			}

		 if(uart_complete==UART_COMPLETE)
			{	
				uart_analyze();
			}
	}
		
//串形中斷,接收CIMR發來的數據
void uart_int(void)  interrupt 4  using 2
 	{
		unsigned char data u;
		
		u=SBUF;
		r_buffer[uart_number]=u;
		RI=FALSE;
		TH0=TH0_VALUE;	//裝入初始值
		TL0=TL0_VALUE;	//裝入初始值
		TR0=TRUE;
		uart_number++;
		if((uart_number==1)&&(u!=SLAVE_ADDR))
			{
				uart_number=0;
			}
	}

//收到一個字節的數據后35mS,沒有再收到數據,則證明該數據幀已經接收完
void	timer0_int(void) interrupt 1 using 3
	{	
		TR0=FALSE;
		TF0=FALSE;	
		ES=FALSE;
		RI=FALSE;
		uart_complete =UART_COMPLETE;		
	}

void	timer2_int(void) interrupt 5 using 0
	{
		TF2=FALSE;	
		RCAP2H=RCAP2H_VALUE;
		RCAP2L=RCAP2L_VALUE;
		if(timer2_num1<=0x03)
			timer2_num++;
		else	
			{
				timer2_num=0;
				timer2_num2++;
			}
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩日欧美一区二区三区| 91精品国产综合久久国产大片| 亚洲精品日日夜夜| 精品对白一区国产伦| 欧美日韩视频在线一区二区| av一区二区三区| 国产精品456露脸| 高清不卡一区二区| 国产一区二区三区在线看麻豆| 久久国产夜色精品鲁鲁99| 日韩精品电影在线观看| 五月天中文字幕一区二区| 亚洲超丰满肉感bbw| 亚洲va国产天堂va久久en| 成人精品免费看| 国产一区二区0| 欧美日产在线观看| 日韩一区二区中文字幕| 日韩美女天天操| 国产欧美日韩亚州综合| 中文字幕不卡在线| 亚洲欧美国产77777| 亚洲黄色片在线观看| 国产91精品在线观看| 26uuu国产在线精品一区二区| 久久久久国产精品麻豆ai换脸| 国产精品美女久久久久高潮| 亚洲欧洲国产专区| 亚洲成人激情自拍| 日本久久一区二区| 欧美精选在线播放| 欧美激情在线观看视频免费| 国产在线日韩欧美| 久久久久久久久久久99999| 激情综合网天天干| 91传媒视频在线播放| 亚洲天堂福利av| 久久精品国产一区二区三| 欧美日韩国产色站一区二区三区| 亚洲成人一二三| 91精品国产手机| 久久精品国产精品亚洲综合| 久久综合久久综合久久| 国产精品一品二品| 中文无字幕一区二区三区| 国产成人av福利| 欧美另类z0zxhd电影| 五月天欧美精品| 日韩欧美电影在线| 国产高清不卡二三区| 国产精品色噜噜| 色婷婷亚洲精品| 久久久久久久久久美女| 成人av在线影院| 亚洲男人天堂av网| 91精品国产美女浴室洗澡无遮挡| 久久99久久久久| 国产精品久线在线观看| 国产精品一区二区三区99| 国产免费观看久久| 欧美主播一区二区三区| 国产精品毛片久久久久久久| 91视频在线观看| 国产精品系列在线| 欧美网站一区二区| 亚洲国产日韩一级| 在线观看亚洲a| 精品在线亚洲视频| 中文字幕一区二区三区乱码在线| 欧美卡1卡2卡| 国产不卡在线一区| 亚洲一级二级三级在线免费观看| 色综合视频在线观看| 日韩精彩视频在线观看| 国产日产精品一区| 在线播放视频一区| a4yy欧美一区二区三区| 蜜臀av一区二区在线观看| 欧美性欧美巨大黑白大战| 狠狠狠色丁香婷婷综合激情| 一区二区三区在线观看欧美| 一本在线高清不卡dvd| 蜜乳av一区二区| 夜夜爽夜夜爽精品视频| 国产欧美日韩三级| 日韩亚洲欧美在线| 在线免费观看日韩欧美| 国产传媒一区在线| 日韩高清不卡一区| 久久综合九色综合久久久精品综合| 色婷婷久久久综合中文字幕 | 国产美女在线观看一区| 亚洲精品成人天堂一二三| 久久综合成人精品亚洲另类欧美 | 亚洲成av人**亚洲成av**| 国产精品日韩成人| 精品国产髙清在线看国产毛片| 欧美三级一区二区| 91香蕉视频黄| 成人激情免费视频| 国产成人综合在线| 麻豆极品一区二区三区| 亚洲福利一区二区三区| 亚洲精品国产精华液| 亚洲欧洲日韩在线| 中文字幕免费不卡| 国产女主播视频一区二区| 日韩欧美美女一区二区三区| 欧美久久一区二区| 欧美日韩亚洲综合在线| 欧美综合一区二区| 色综合天天综合色综合av| 亚洲国产视频一区| 亚洲综合男人的天堂| 亚洲精品国产无天堂网2021| 最新日韩av在线| 中文字幕字幕中文在线中不卡视频| 国产欧美日韩综合精品一区二区| 久久嫩草精品久久久精品| 精品久久久久久久久久久院品网| 99精品热视频| 久久99深爱久久99精品| 韩国三级在线一区| 国产麻豆精品theporn| 国产精品99久久久| 粉嫩一区二区三区性色av| 成人福利电影精品一区二区在线观看 | 欧美日韩国产欧美日美国产精品| 欧美精品在线视频| 日韩一级片在线播放| 久久综合九色综合欧美98| 国产免费成人在线视频| 亚洲视频一二三区| 一区二区久久久| 日韩精品免费专区| 国产一区二区毛片| 成人av资源在线观看| 欧美最猛黑人xxxxx猛交| 91精品久久久久久久久99蜜臂| 99视频有精品| 欧美四级电影在线观看| 欧美一区二区三区免费视频| 久久人人97超碰com| 亚洲欧洲国产专区| 日本怡春院一区二区| 国产xxx精品视频大全| 91精品91久久久中77777| 91精品国产一区二区三区蜜臀| 久久亚洲一区二区三区四区| 亚洲色图欧美在线| 强制捆绑调教一区二区| 午夜av区久久| 国产91丝袜在线播放九色| 欧美亚洲一区三区| 2020国产成人综合网| 亚洲毛片av在线| 另类小说欧美激情| 91麻豆精品秘密| 久久综合久久综合久久| 亚洲777理论| 成人免费毛片a| 日韩亚洲欧美一区| 国产精品电影院| 美女视频黄a大片欧美| 91免费小视频| 国产亚洲综合av| 国产精品美女久久久久久久久 | 国产白丝网站精品污在线入口| 欧美色综合网站| 国产精品国产自产拍在线| 蜜臀99久久精品久久久久久软件| 97se亚洲国产综合自在线不卡| 日韩一级免费一区| 亚洲成人资源网| 91社区在线播放| 国产日本欧洲亚洲| 久久精品国产精品亚洲精品| 精品视频一区三区九区| 中文字幕一区日韩精品欧美| 国产主播一区二区三区| 欧美一级片在线看| 亚洲午夜免费福利视频| 99久久亚洲一区二区三区青草| 久久嫩草精品久久久精品一| 日本大胆欧美人术艺术动态| 欧美视频自拍偷拍| 亚洲精选在线视频| 成人国产免费视频| 久久久久99精品国产片| 久久不见久久见免费视频7| 欧美性猛片aaaaaaa做受| 亚洲男女毛片无遮挡| 9i在线看片成人免费| 国产精品污污网站在线观看| 国内久久精品视频| 久久亚洲春色中文字幕久久久| 蜜桃视频在线一区| 日韩精品一区二区三区蜜臀| 美女爽到高潮91| 日韩精品中文字幕在线一区|