c# win 串口调试助手.docx_第1页
c# win 串口调试助手.docx_第2页
c# win 串口调试助手.docx_第3页
c# win 串口调试助手.docx_第4页
c# win 串口调试助手.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c# winform 串口调试助手已调试通过,可以收发数据using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.IO.Ports;namespace CGF串?口助手? public partial class CgfForm1 : Form public CgfForm1() InitializeComponent(); COMNUM.SelectedIndex = 2; BaudRate.SelectedIndex = 3; DataBit.SelectedIndex = 3; StopBit.SelectedIndex = 1; CheckBit.SelectedIndex = 0; CharDisp.Checked = true; SendChar.Checked = true; CloseComm.Enabled = false; DataSend.Enabled = false; private void label7_Click(object sender, EventArgs e) private void OpenComm_Click(object sender, EventArgs e) serialPort1.Close(); serialPort1.PortName = COMNUM.Text; serialPort1.BaudRate = Convert.ToInt32(BaudRate.Text); serialPort1.DataBits = Convert.ToInt32(DataBit.Text); int SPnum = 4; SPnum = StopBit.SelectedIndex; switch (SPnum) case 0: serialPort1.StopBits = StopBits.None; break; case 1: serialPort1.StopBits = StopBits.One; break; case 2: serialPort1.StopBits = StopBits.OnePointFive; break; case 3: serialPort1.StopBits = StopBits.Two; break; default: break; SPnum = CheckBit.SelectedIndex; switch (SPnum) case 0: serialPort1.Parity = Parity.None; break; case 1: serialPort1.Parity = Parity.Odd; break; case 2: serialPort1.Parity = Parity.Even; break; default: break; /*异皑?常处鋦理?!?*/ try serialPort1.Open(); catch (Exception ex) MessageBox.Show(错洙?误:阰 + ex.Message); /*/ if (serialPort1.IsOpen) CloseComm.Enabled = true; DataSend.Enabled = true; OpenComm.Enabled = false; COMNUM.Enabled = false; BaudRate.Enabled = false; DataBit.Enabled = false; StopBit.Enabled = false; CheckBit.Enabled = false; private void CloseComm_Click(object sender, EventArgs e) try serialPort1.Close(); CloseComm.Enabled = false; DataSend.Enabled = false; OpenComm.Enabled = true; COMNUM.Enabled = true; BaudRate.Enabled = true; DataBit.Enabled = true; StopBit.Enabled = true; CheckBit.Enabled = true; catch (Exception ex) MessageBox.Show(错洙?误:阰 + ex.Message); CloseComm.Enabled = true; DataSend.Enabled = true; OpenComm.Enabled = false; COMNUM.Enabled = false; BaudRate.Enabled = false; DataBit.Enabled = false; StopBit.Enabled = false; CheckBit.Enabled = false; private void DataSend_Click(object sender, EventArgs e) string InputString = SendBox.Text; /*发?送byte实害?例*/ /byte SendBytes = new byte0xff,0xe0,0xd0,0xc0,0xb0,0xa0,0x90,0x80,0x70,0x60; /int DatasLength = SendBytes.Length; /serialPort1.Write(SendBytes, 0, DatasLength); /*/ if (SendChar.Checked = true) /以?字?符?形?式?发?送,?直接发?送字?符?串? labelTiShi.Text = 字?符?串?:阰 + InputString; try char SendChars = InputString.ToCharArray(); int CharsLength = SendChars.Length; serialPort1.Encoding = System.Text.Encoding.GetEncoding(GB2312); /解a决?中D午?乱码?问题琣,?国标括?312编括?码?格?式? serialPort1.Write(SendChars, 0, CharsLength); catch (Exception ex) MessageBox.Show(错洙?误:阰 + ex.Message); else if (SendHEX.Checked = true) /以?HEX形?式?发?送,?输?入?范?围:阰0255,?即0FF。 #region 增?加字?符?处鋦理? string HexStrSplit = InputString.Split( ); int len = HexStrSplit.Length; byte arr = new bytelen; for (int ii = 0; ii arr.Length; ii+) arrii = Convert.ToByte(HexStrSplitii,16 ); /arri = Convert.ToByte( #endregion labelTiShi.Text = HEX:阰; for (int ii = 0; ii arr.Length; ii+) labelTiShi.Text = labelTiShi.Text + String.Format(0:X2 , arrii); try /byte SendByte = Convert.ToByte(InputString); /try / / serialPort1.Write(String.Format(0:X, SendByte); / try serialPort1.Write(arr, 0, arr.Length); catch (Exception ex) MessageBox.Show(错洙?误:阰 + ex.Message); catch (Exception) MessageBox.Show(请?输?入?00FF,每?十?六?进?制?数簓据Y之?间?隔?一?个?空?格?); private void SerialPortDataReceive(object sender, SerialDataReceivedEventArgs e) int ReceiveNums = serialPort1.BytesToRead; if (HEXDisp.Checked = true) for (int i = 0; i ReceiveNums; i+) /网?上?原-程序 20160519 /ReceiveBox.AppendText(String.Format(0:X2 , serialPort1.ReadByte(); /第台?一?次?更改?程序,?接收?时骸?线?程异皑?常 20160520 /*int RecByte = serialPort1.ReadByte(); labelTiShi.Text = String.Format(0:X2 , RecByte); ReceiveBox.AppendText(String.Format(0:X2 , RecByte);*/ /第台?二t次?更改?程序,?20160521 int RecByte = this.serialPort1.ReadByte(); this.ReceiveBox.Invoke(new MethodInvoker( delegatethis.ReceiveBox.AppendText( String.Format( 0:X2 , RecByte ); ) ); else if (CharDisp.Checked = true) /* for (int i = 0; i ReceiveNums; i+) ReceiveBox.AppendText(String.Format(0:X2, Convert.ToChar(serialPort1.ReadByte(); */ this.serialPort1.Encoding = System.Text.Encoding.GetEncoding(GB2312);/解a决?中D午?乱码?问题琣,?国标括?312编括?码?格?式? /ReceiveBox.AppendText(serialPort1.ReadExisting(); string RecStr=this.serialPort1.ReadExisting(); /labelTiShi.Text = RecStr; /ReceiveBox.AppendText(RecStr); this.ReceiveBox.BeginInvoke(new MethodInvoker( delegate this.ReceiveBox.AppendText(RecStr); ) ); private void ClearSend_Click(object sender, EventArgs e) SendBox.Clear(); private void ClearReceive_Click

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论