基于单片机串口通信的上位机和下位机实践
串口是计算机上一种非常通用设备通信的协议不要与通用串行总线Universal Serial Bus或者USB混淆;大多数计算机包含两个基于RS232的串口;串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口;同时,串口通信协议也可以用于获取远程采集设备的数据;
串口通信的概念非常简单,串口按位bit发送和接收字节;尽管比按字节byte的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据;它很简单并且能够实现远距离通信;比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米;checkbox和radiobutton的区别
首先亮出C的源程序吧;
主要界面:
只是作为简单的运用,可以扩展的;
源代码:
using System;
using System.Collections.Generic;
using SystemponentModel;
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_Clickobject 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.ToInt32str2;//将字符串转为整型
Int32 int5 = Convert.ToInt32str5;//将字符串转为整型
groupBox3.Enabled = true;//LED控制界面变可选
try
{
if button1.Text == "打开串口"
{
if str1 == null
{
MessageBox.Show"请先选择串口", "Error";
return;
}
sp.Close;
sp = new SerialPort;
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;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论