C的串口通信源程序.doc
- 文档编号:230137
- 上传时间:2022-10-07
- 格式:DOC
- 页数:17
- 大小:95.50KB
C的串口通信源程序.doc
《C的串口通信源程序.doc》由会员分享,可在线阅读,更多相关《C的串口通信源程序.doc(17页珍藏版)》请在冰豆网上搜索。
基于单片机串口通信的上位机和下位机
首先亮出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())//自动获取串行口名称
boBox1.Items.Add(com);
//默认设置
comboBox1.SelectedIndex=0;//选择第一个com口
comboBox2.SelectedIndex=4;//波特率4800
comboBox3.SelectedIndex=0;//校验位NONE
comboBox4.SelectedIndex=0;//停止位为1
comboBox5.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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串口 通信 源程序