第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/7/10 8:09:13 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

基于单片机串口通信的上位机和下位机实践

串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

首先亮出C#的源程序吧。 主要界面:

只是作为简单的运用,可以扩展的。 源代码: using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;

using System.Windows.Forms; using System.IO.Ports; using System.Timers;

namespace 单片机功能控制 {

public partial class Form1 : Form

{

public Form1() {

InitializeComponent(); }

SerialPort sp = new SerialPort();

private void button1_Click(object sender, EventArgs e) {

String str1 = comboBox1.Text;//串口号 String str2 = comboBox2.Text;//波特率 String str3 = comboBox3.Text;//校验位 String str4 = comboBox5.Text;//停止位 String str5 = comboBox4.Text;//数据位

Int32 int2 = Convert.ToInt32(str2);//将字符串转为整型 Int32 int5 = Convert.ToInt32(str5);//将字符串转为整型 groupBox3.Enabled = true;//LED控制界面变可选

try {

if (button1.Text == \打开串口\ {

if (str1 == null) {

MessageBox.Show(\请先选择串口!\ return; }

sp.Close();

sp = new SerialPort();

sp.PortName = comboBox1.Text;//串口编号 sp.BaudRate = int2;//波特率 switch (str4)//停止位 {

case \

sp.StopBits = StopBits.One; break; case \

sp.StopBits = StopBits.OnePointFive; break; case \

sp.StopBits = StopBits.Two; break;

default:

MessageBox.Show(\:参数不正确\ break; }

switch (str3) {

case \

sp.Parity = Parity.None; break; case \

sp.Parity = Parity.Odd; break; case \

sp.Parity = Parity.Even; break; default:

MessageBox.Show(\:参数不正确\ 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 (Exception er) {

MessageBox.Show(\ return; } }

private void Form1_Load(object sender, EventArgs e) {

//初始化

基于C#的串口通信上位机和下位机源程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c940t33sjav3z01x0bvw21wxgu8k8be00nhd_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top