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

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

?? z_comm_ex.cs

?? 串口通信組件
?? CS
字號:
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using Microsoft.Win32;
namespace Z_COMM_EX
{
	/// <summary>
	/// UserControl1 的摘要說明。
	/// </summary>
	/// 
	public delegate void SecManageHandle(object sender,EventArgs e);
	public class Z_COMM_EX : System.Windows.Forms.UserControl
	{
		private System.Windows.Forms.GroupBox qqq;
		private System.Windows.Forms.ComboBox cc2;
		private System.Windows.Forms.ComboBox cc1;
		private System.Windows.Forms.Label l2;
		private System.Windows.Forms.Label l1;
		private bool ReceiveFlag=false;//是否接收數據的標志
		private ArrayList receivedatabyte=new ArrayList();//十進制數
		private ArrayList receivedataorigin=new ArrayList();//原始數據
		private int receivenum=0;//
		private byte databegin; //數據包開始字符
		private byte dataend; //數據包結束字符
		public AxMSCommLib.AxMSComm axMSComm1;
		[Description("接收完數據事件。當將串口接收到的數據保存至數組receivedataorigin中后產生"),Category("數據處理")]
		public event SecManageHandle SecManage;
		protected virtual void OnSecManage(EventArgs e)
		{
			if(SecManage!=null)
				SecManage(this,e);
		}
		/// <summary>
		/// 必需的設計器變量。
		/// </summary>
		private System.ComponentModel.Container components = null;

		public Z_COMM_EX()
		{
			// 該調用是 Windows.Forms 窗體設計器所必需的。
			InitializeComponent();
			this.ReadSet();
            this.Resize+=new EventHandler(Z_COMM_EX_Resize);
			SetStyle(System.Windows.Forms.ControlStyles.SupportsTransparentBackColor,true);
			// TODO: 在 InitComponent 調用后添加任何初始化

		}

		/// <summary>
		/// 清理所有正在使用的資源。
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if( components != null )
					components.Dispose();
			}
			base.Dispose( disposing );
		}

		#region 組件設計器生成的代碼
		/// <summary>
		/// 設計器支持所需的方法 - 不要使用代碼編輯器 
		/// 修改此方法的內容。
		/// </summary>
		private void InitializeComponent()
		{
			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Z_COMM_EX));
			this.qqq = new System.Windows.Forms.GroupBox();
			this.axMSComm1 = new AxMSCommLib.AxMSComm();
			this.cc2 = new System.Windows.Forms.ComboBox();
			this.cc1 = new System.Windows.Forms.ComboBox();
			this.l2 = new System.Windows.Forms.Label();
			this.l1 = new System.Windows.Forms.Label();
			this.qqq.SuspendLayout();
			((System.ComponentModel.ISupportInitialize)(this.axMSComm1)).BeginInit();
			this.SuspendLayout();
			// 
			// qqq
			// 
			this.qqq.Controls.Add(this.axMSComm1);
			this.qqq.Controls.Add(this.cc2);
			this.qqq.Controls.Add(this.cc1);
			this.qqq.Controls.Add(this.l2);
			this.qqq.Controls.Add(this.l1);
			this.qqq.Location = new System.Drawing.Point(0, 0);
			this.qqq.Name = "qqq";
			this.qqq.Size = new System.Drawing.Size(184, 88);
			this.qqq.TabIndex = 0;
			this.qqq.TabStop = false;
			this.qqq.Text = "串口設置";
			// 
			// axMSComm1
			// 
			this.axMSComm1.ContainingControl = this;
			this.axMSComm1.Enabled = true;
			this.axMSComm1.Location = new System.Drawing.Point(16, 40);
			this.axMSComm1.Name = "axMSComm1";
			this.axMSComm1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axMSComm1.OcxState")));
			this.axMSComm1.Size = new System.Drawing.Size(38, 38);
			this.axMSComm1.TabIndex = 5;
			this.axMSComm1.OnComm += new System.EventHandler(this.axMSComm1_OnComm);
			// 
			// cc2
			// 
			this.cc2.Items.AddRange(new object[] {
													 "1200",
													 "2400",
													 "9600",
													 "14400",
													 "19200",
													 "28800",
													 "38400",
													 "115200"});
			this.cc2.Location = new System.Drawing.Point(80, 56);
			this.cc2.Name = "cc2";
			this.cc2.Size = new System.Drawing.Size(88, 20);
			this.cc2.TabIndex = 4;
			this.cc2.Text = "9600";
			// 
			// cc1
			// 
			this.cc1.Items.AddRange(new object[] {
													 "COM1",
													 "COM2",
													 "COM3",
													 "COM4"});
			this.cc1.Location = new System.Drawing.Point(80, 24);
			this.cc1.Name = "cc1";
			this.cc1.Size = new System.Drawing.Size(88, 20);
			this.cc1.TabIndex = 3;
			this.cc1.Text = "COM1";
			// 
			// l2
			// 
			this.l2.AutoSize = true;
			this.l2.Location = new System.Drawing.Point(8, 56);
			this.l2.Name = "l2";
			this.l2.Size = new System.Drawing.Size(66, 17);
			this.l2.TabIndex = 2;
			this.l2.Text = "  波特率:";
			this.l2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
			// 
			// l1
			// 
			this.l1.AutoSize = true;
			this.l1.Location = new System.Drawing.Point(8, 24);
			this.l1.Name = "l1";
			this.l1.Size = new System.Drawing.Size(66, 17);
			this.l1.TabIndex = 1;
			this.l1.Text = "通信端口:";
			this.l1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
			// 
			// Z_COMM_EX
			// 
			this.Controls.Add(this.qqq);
			this.Name = "Z_COMM_EX";
			this.Size = new System.Drawing.Size(192, 96);
			this.qqq.ResumeLayout(false);
			((System.ComponentModel.ISupportInitialize)(this.axMSComm1)).EndInit();
			this.ResumeLayout(false);

		}
		#endregion

		protected override void OnPaint(PaintEventArgs e)
		{
			base.OnPaint (e);
            this.DrawControl();
		}
		private void DrawControl()
		{
			this.qqq.Width=this.Width;
			this.qqq.Height=this.Height;
			this.l1.Location=new Point(10,this.cc1.Height+5);
			this.l2.Location=new Point(10,(int)(this.cc1.Height*2.5)+5);
			this.cc1.Location=new Point(this.l1.Width+10,this.cc1.Height);
			this.cc2.Location=new Point(this.l2.Width+10,(int)(this.cc1.Height*2.5));
			this.cc1.Width=this.Width-this.l1.Width-20;
			this.cc2.Width=this.Width-this.l2.Width-20;
			this.Height=this.cc2.Location.Y+(int)(1.5*this.cc2.Height);
            
		}

		private void Z_COMM_EX_Resize(object sender, EventArgs e)
		{
			this.Invalidate();
		}
		[Description("字體"),Category("設置")]
		public Font Z_COMMEXFont
		{
			get
			{
				return this.qqq.Font;
			}
			set
			{
				this.qqq.Font=value;
				this.Invalidate();
			}
		}
		[Description("顏色"),Category("設置")]
		public Color Z_COMMForeColor
		{
			get
			{
				return this.qqq.ForeColor;
			}
			set
			{
				this.qqq.ForeColor=value;
				this.Invalidate();
			}
		}
		[Description("下拉列表框的顏色"),Category("設置")]
		public Color Z_COMMColor
		{
			get
			{
				return this.cc1.ForeColor;
			}
			set
			{
				this.cc1.ForeColor=value;
				this.cc2.ForeColor=value;
				this.Invalidate();
			}
		}
		[Description("數據包起始字符"),Category("數據包格式")]
		public byte DataBegin
		{
			get
			{
				return databegin;
			}
			set
			{
				databegin=value;
			}
		}
		[Description("數據包結束字符"),Category("數據包格式")]
		public byte DataEnd
		{
			get
			{
				return dataend;
			}
			set
			{
				dataend=value;
			}
		}
		[Description("接收到完整數據包的次數"),Category("數據包格式")]
		public int ReceiveNum
		{
			get
			{
				return receivenum;
			}
			set
			{
				receivenum=value;
			}
		}
		[Description("用于接收數據的可變數組")]
		public ArrayList ReceiveDataOrigin
		{
			get
			{
				return receivedataorigin;
			}
		}
		[Description("轉化后的數據接收數組")]
		public ArrayList ReceiveDataByte
		{
			get
			{
				return receivedatabyte;
			}
		}

		/// <summary>
		/// 讀注冊表中串口信息
		/// </summary>
		public void ReadSet()
		{
			//讀注冊表中串口信息
			RegistryKey r=Registry.LocalMachine.CreateSubKey("software\\Z_COMM_EX");
			RegistryKey r1=r.CreateSubKey("mycomm");
			this.cc1.Text=(string)r1.GetValue("port","COM2");
			this.cc2.Text=(string)r1.GetValue("setting","9600");
			r1.Close();
			r.Close();
		}

		
		/// <summary>
		/// 寫注冊表中串口信息
		/// </summary>
		public void WriteSet()
		{
			//寫注冊表中串口信息
			RegistryKey r=Registry.LocalMachine.CreateSubKey("software\\Z_COMM_EX");
			RegistryKey r1=r.CreateSubKey("mycomm");
			r1.SetValue("port",this.cc1.Text);
			r1.SetValue("setting",this.cc2.Text);
			r1.Close();
			r.Close();
		}

		/// <summary>
		/// 串口初始化
		/// </summary>

		public void InitCommPort()
		{
			//串口初始化
			try
			{
				this.WriteSet();

				if (this.axMSComm1.PortOpen==true)
					this.axMSComm1.PortOpen=false;
				//設置通信端口
				if(this.cc1.Text=="COM1")
					this.axMSComm1.CommPort=1;
				else if(this.cc1.Text=="COM2")
					this.axMSComm1.CommPort=2;
				else if(this.cc1.Text=="COM3")
					this.axMSComm1.CommPort=3;
				else
					this.axMSComm1.CommPort=4;
				//設置波特率
				this.axMSComm1.Settings=this.cc2.Text+",N,8,1";
//				this.axMSComm1.InputLen=1;
				this.axMSComm1.RThreshold=1;
				this.axMSComm1.PortOpen=true;       //打開串口
			
			}
			catch(Exception e)
			{
				DialogResult result;
				result=MessageBox.Show(e.Message+"\r請重新配置串口!","消息提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
			}
		}

		private void axMSComm1_OnComm(object sender, System.EventArgs e)
		{
			//"F0"起始,"FF"結束
			object av;
			byte[] a;
			if(this.axMSComm1.CommEvent==2)
			{
				av=this.axMSComm1.Input;
				a=(byte[])av;
				if(!ReceiveFlag) //檢驗是否收到數據包開始標志
				{
					for(int i=0;i<a.Length;i++)
					{
						if(a[i]==this.DataBegin)
						{
							ReceiveFlag=true;
							ReceiveDataOrigin.Clear();
						}
						if(ReceiveFlag)//收到數據包開始標志,但此次讀取的數據還沒有轉化完時,將包中的數據轉存入ReceiveDataOrigin,包括開始標志“F0”
						{
							
							ReceiveDataOrigin.Add(a[i]);
						}				
						if(a[i]==dataend)
						{
							ReceiveFlag=false;
							PreManage();
						}
					}
				}
				else
				{
					for(int i=0;i<a.Length;i++)
					{
						//收到數據包結束標志,將ReceiveFlag付值為false,將包中的數據轉存入ReceiveDataOrigin,包括結束標志“FF”	
						ReceiveDataOrigin.Add(a[i]);
						if(a[i]==dataend)
						{
							ReceiveFlag=false;
							PreManage();
						}
											
					}
				}
			}
		}

		/// <summary>
		/// 預處理。當接收本數據包數據完成后,將調用此函數完成初級的處理
		/// </summary>
		private void PreManage()
		{
			//預處理。當接收本數據包數據完成后,將調用此函數完成初級的處理。包括:1、把bcd碼轉化為二進制  2、引發SecManage事件,把控制權交給其他相關窗體
			this.ReceiveNum++;//接收到完整數據包的次數加1

			OnSecManage(EventArgs.Empty);//引發SecMange事件,在相關窗體中進行深度處理。
		} 

		/// <summary>
		/// 把接收到的數據去掉開始、結束標志,并轉化為十進制數
		/// </summary>
		public void ChangeBcd()
		{ 
			byte a;
			byte b;
			this.ReceiveDataByte.Clear();
			for(int i=1;i<this.ReceiveDataOrigin.Count-1;i++)
			{
				a=(byte)this.ReceiveDataOrigin[i];
//				this.ReceiveDataByte.Add(Convert.ToByte(a.ToString("X"),10));
                b=(byte)(a-a/16*6);
				this.receivedatabyte.Add(b);
			}
		}

		public void SendArray(byte[] b)
		{
			this.axMSComm1.Output=b;
		}
		public void ClosePort()
		{
			this.axMSComm1.PortOpen=false;
		}

	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜电影在线观看| 成人avav影音| 午夜久久电影网| 依依成人精品视频| 亚洲精品免费在线观看| 亚洲欧美激情小说另类| 最近中文字幕一区二区三区| 国产精品理伦片| 中文字幕亚洲区| 亚洲欧美在线观看| 亚洲一二三四久久| 五月婷婷综合激情| 免费日本视频一区| 免费观看91视频大全| 国内精品久久久久影院色| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品一区二区久久精品爱涩| 国产精品一线二线三线| 成人v精品蜜桃久久一区| 91在线丨porny丨国产| 在线观看日韩国产| 制服丝袜国产精品| 精品国产伦一区二区三区观看方式 | 国产欧美精品国产国产专区| 欧美国产一区在线| 洋洋成人永久网站入口| 蜜臀精品久久久久久蜜臀| 国产乱一区二区| 日本道免费精品一区二区三区| 777a∨成人精品桃花网| 久久久久高清精品| 亚洲高清免费一级二级三级| 麻豆一区二区三| www.激情成人| 欧美日韩第一区日日骚| 精品福利一区二区三区免费视频| 中文av一区特黄| 日本在线不卡视频| eeuss影院一区二区三区| 欧美色倩网站大全免费| 精品久久人人做人人爰| 亚洲日本电影在线| 另类欧美日韩国产在线| av一二三不卡影片| 日韩欧美国产电影| 一区二区三区高清在线| 国产一区二区三区不卡在线观看| 色94色欧美sute亚洲线路一久| 欧美一级爆毛片| 亚洲女人****多毛耸耸8| 黄色成人免费在线| 欧美羞羞免费网站| 中文字幕不卡一区| 麻豆国产精品视频| 欧美日韩精品免费| 亚洲欧美色图小说| 国产精品一二三区| 欧美成人video| 丝袜美腿成人在线| 在线观看亚洲成人| 亚洲人成小说网站色在线| 国产一区视频导航| 日韩三级视频中文字幕| 天堂午夜影视日韩欧美一区二区| 波多野结衣中文一区| 国产亚洲欧美色| 精品亚洲免费视频| 日韩免费视频线观看| 亚洲123区在线观看| 91久久精品日日躁夜夜躁欧美| 国产欧美日韩久久| 国产精品456露脸| 久久综合色婷婷| 美女一区二区三区| 日韩欧美在线网站| 午夜欧美2019年伦理| 欧美日本一区二区三区| 日韩高清一区在线| 日韩一区二区三区四区五区六区| 日本一不卡视频| 日韩一区二区三区av| 久久爱另类一区二区小说| 91精品国产品国语在线不卡| 麻豆中文一区二区| 久久久久久免费| 成人动漫一区二区| 亚洲精品五月天| 欧美日韩在线播| 日本va欧美va精品| 久久伊人中文字幕| 豆国产96在线|亚洲| 国产精品色一区二区三区| 成人激情av网| 亚洲一区电影777| 欧美日韩大陆在线| 韩国av一区二区三区| 久久久亚洲国产美女国产盗摄| 成人av电影免费在线播放| 一区二区三区中文字幕精品精品| 在线观看日韩高清av| 免费成人在线影院| 国产精品天美传媒| 欧美日韩精品一区二区三区四区| 免费看欧美美女黄的网站| 26uuu另类欧美| 色呦呦一区二区三区| 日韩电影在线观看网站| 欧美极品xxx| 欧美午夜免费电影| 国产美女精品在线| 亚洲综合丁香婷婷六月香| 欧美一区二区福利视频| 成人深夜在线观看| 天天综合天天综合色| 国产日韩一级二级三级| 欧美日免费三级在线| 国产在线麻豆精品观看| 亚洲精品少妇30p| 欧美精品一区二区三区四区| 99国产精品视频免费观看| 日本三级亚洲精品| 国产精品久久久久aaaa| 91精品国产入口| 一本色道久久综合精品竹菊 | 精品国产三级a在线观看| 成人免费高清在线| 久久se这里有精品| 一区二区三区四区高清精品免费观看 | 亚洲第一在线综合网站| 精品国产乱码久久久久久浪潮 | 国产乱码精品一区二区三区五月婷| 中文字幕中文乱码欧美一区二区| 91精品国产综合久久婷婷香蕉| 国产白丝网站精品污在线入口| 午夜av电影一区| 亚洲综合视频在线| 日韩美女精品在线| 中文字幕欧美国产| 久久久国际精品| 日韩精品一区国产麻豆| 欧美精品粉嫩高潮一区二区| 色婷婷av一区二区三区大白胸| 成人app下载| 东方欧美亚洲色图在线| 国产美女一区二区| 国内久久精品视频| 久国产精品韩国三级视频| 石原莉奈一区二区三区在线观看| 伊人婷婷欧美激情| 一区二区三区色| 亚洲国产色一区| 亚洲成人动漫av| 亚洲一二三区在线观看| 午夜影视日本亚洲欧洲精品| 亚洲综合免费观看高清完整版在线| 亚洲精品中文在线影院| 亚洲午夜精品一区二区三区他趣| 亚洲综合无码一区二区| 有坂深雪av一区二区精品| 亚洲国产一区二区a毛片| 婷婷综合五月天| 久久精品国产一区二区三区免费看 | 天涯成人国产亚洲精品一区av| 樱花影视一区二区| 午夜精品久久久久久久久久| 亚洲精品乱码久久久久久久久 | 日本成人在线视频网站| 亚洲国产精品精华液网站| 亚洲伊人色欲综合网| 亚洲综合清纯丝袜自拍| 午夜激情久久久| 狠狠色丁香九九婷婷综合五月 | 一区二区三区高清不卡| 洋洋成人永久网站入口| 亚洲精品第1页| 亚洲成人高清在线| 久久99久国产精品黄毛片色诱| 狠狠色丁香久久婷婷综| 国产精品综合二区| 95精品视频在线| 制服丝袜av成人在线看| 日韩精品专区在线| 最新成人av在线| 日韩激情视频在线观看| 国产综合久久久久久久久久久久| 99精品国产热久久91蜜凸| 91精品国产免费久久综合| 久久精品水蜜桃av综合天堂| 亚洲美女屁股眼交| 精品一区二区免费在线观看| 国产aⅴ综合色| 欧美日韩一区不卡| 久久久精品综合| 亚洲国产乱码最新视频 | av在线一区二区三区| 色偷偷一区二区三区| 欧美一级欧美三级在线观看| 国产欧美日韩亚州综合| 性感美女久久精品| 国产白丝网站精品污在线入口|