基于单片机串口通信的上位机和下位机实践
串口是计算机上一种非常通用设备通信的协议不要与通用串行总线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小时内删除。