电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

基于C#的串口通信上位机和下位机源程序VIP免费

基于C#的串口通信上位机和下位机源程序_第1页
1/18
基于C#的串口通信上位机和下位机源程序_第2页
2/18
基于C#的串口通信上位机和下位机源程序_第3页
3/18
基于单片机串口通信的上位机和下位机实践串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线UniversalSerialBus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。首先亮出C#的源程序吧。主要界面:只是作为简单的运用,可以扩展的。源代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO.Ports;usingSystem.Timers;namespace单片机功能控制{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}SerialPortsp=newSerialPort();privatevoidbutton1_Click(objectsender,EventArgse){Stringstr1=comboBox1.Text;//串口号Stringstr2=comboBox2.Text;//波特率Stringstr3=comboBox3.Text;//校验位Stringstr4=comboBox5.Text;//停止位Stringstr5=comboBox4.Text;//数据位Int32int2=Convert.ToInt32(str2);//将字符串转为整型Int32int5=Convert.ToInt32(str5);//将字符串转为整型groupBox3.Enabled=true;//LED控制界面变可选try{if(button1.Text=="打开串口"){if(str1==null){MessageBox.Show("请先选择串口!","Error");return;}sp.Close();sp=newSerialPort();sp.PortName=comboBox1.Text;//串口编号sp.BaudRate=int2;//波特率switch(str4)//停止位{case"1":sp.StopBits=StopBits.One;break;case"1.5":sp.StopBits=StopBits.OnePointFive;break;case"2":sp.StopBits=StopBits.Two;break;default:MessageBox.Show("Error:参数不正确","Error");break;}switch(str3){case"NONE":sp.Parity=Parity.None;break;case"ODD":sp.Parity=Parity.Odd;break;case"EVEN":sp.Parity=Parity.Even;break;default:MessageBox.Show("Error:参数不正确","Error");break;}sp.DataBits=int5;//数据位sp.Parity=Parity.Even;//设置串口属性sp.Open();//打开串口button1.Text="关闭串口";textBox1.Text=Convert.ToString(sp.PortName)+"已开启!";}else{sp.Close();button1.Text="打开串口";groupBox3.Enabled=false;//LED控制界面变灰色textBox1.Text=Convert.ToString(sp.PortName)+"已关闭!";}}catch(Exceptioner){MessageBox.Show("Error:"+er.Message,"Error");return;}}privatevoidForm1_Load(objectsender,EventArgse){//初始化textBox1.Text="欢迎使用简易的串口助手!";groupBox3.Enabled=false;//LED控制界面变灰色groupBox6.Enabled=false;groupBox7.Enabled=false;groupBox8.Enabled=false;button3.Enabled=false;button6.Enabled=false;timer1.Start();try{foreach(stringcominSystem.IO.Ports.SerialPort.GetPortNames())//自动获取串行口名称this.comboBox1.Items.Add(com);//默认设置comboBox1.SelectedIndex=0;//选择第一个com口comboBox2.SelectedIndex=4;//波特率4800comboBox3.SelectedIndex=0;//校验位NONEcomboBox4.SelectedIndex=0;//停止位为1comboBox5.SelectedIndex=0;//数据位为8}catch{MessageBox.Show("找不到通讯端口!","串口调试助手");}}privatevoidtimer1_Tick(objectsender,EventArgse){label6.Text=DateTime.Now.ToString();}privatevoidbutton2_Click(objectsender,EventArgse){try{if(button2.Text=="开启"){groupBox6.Enabled=true;radioButton1.Checked=false;radioButton2.Checked=false;radioButton3.Checked=false;radioButton4.Checked=false;checkBox1.Checked=false;checkBox2.Checked=false;checkBox3.Checked=false;checkBox4...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

基于C#的串口通信上位机和下位机源程序

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部