




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版监控系统维保合同范本
- 2024版单位车辆出租协议
- 2025年事业单位工勤技能-河北-河北水文勘测工四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河北-河北工程测量工四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广西-广西家禽饲养员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西医技工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西保健按摩师一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东动物检疫员五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东下水道养护工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-安徽-安徽机械冷加工一级(高级技师)历年参考题库典型考点含答案解析
- GB 16808-2025可燃气体报警控制器
- 医疗机构重点部门感染预防与控制标准WST860-2025解读宣贯
- 2025至2030中国制造仿真软件行业项目调研及市场前景预测评估报告
- 心血管内科医师执业考试题库
- 2025年汽车后市场行业当前市场规模及未来五到十年发展趋势报告
- 2025当兵心理测试题及答案
- 2025年官方兽医牧运通考试题库附参考答案详解(考试直接用)
- 退伍留疆考试题库及答案
- 2025年兵团辅警考试题库
- (正式版)HGT 20656-2024 化工供暖通风与空气调节详细设计内容和深度规定
- 住宅项目实测实量操作指引(图文并茂)
评论
0/150
提交评论