上位机串行通讯的通用思路

先上代码:

public class SerialPortServer
    {
        //字段
        SerialPort SP = new SerialPort();
        int DelayTime = 5000;//默认是5s
        string Info = "";

        string SendStringBuffer = "";
        string ReceiveStringBuffer = "";

        //构造函数
        public SerialPortServer(string COM, int BaudRate, int DelayTime)
        {
            //init sp
            SP.PortName = COM;
            SP.BaudRate = BaudRate;
            SP.StopBits = StopBits.One;
            SP.Parity = Parity.None;
            //init DelayTime
            this.DelayTime = DelayTime;
        }
        //公共方法
        public string OpenSP()
        {
            try
            {
                SP.Open();
            }
            catch (Exception)
            {
                return "Open Error";
                throw;
            }
            return "OK";
        }
        public void CloseSP()
        {
            SP.Close();
        }
        //私有方法
        private void MainMission()
        {
            while (true)
            {
                if ("" != SendStringBuffer)
                {
                    SendString();
                }

                Thread.Sleep(DelayTime);

                Receive();

                Parse();
            }
        }
        private void Receive()
        {
            ReceiveStringBuffer = SP.ReadExisting();
        }
        private void SendString()
        {
            SP.Write(SendStringBuffer);
            SendStringBuffer = "";
        }
        private void Parse()
        {
            Info = ReceiveStringBuffer.Substring(0,3);
        }
        //get方法
        public string GetInfo()
        {
            return this.Info;
        }
        //set方法
        public void SendFrame(string Frame)
        {
            this.SendStringBuffer = Frame;
        }
    }

说明:

时间: 2024-10-27 05:48:17

上位机串行通讯的通用思路的相关文章

COM口,串行通讯端口,RS-232接口 基础知识

COM口即串行通讯端口. COM口的接口标准规范和总线标准规范是RS-232,有时候也叫做RS-232口.电脑上的com口多为9针,最大速率115200bps.通常用于连接鼠标(串口)及通讯设备(如连接外置式MODEM进行数据通讯)等.但目前主流的主板一般都只带1个串口,甚至不带,慢慢会被USB 取代. 以前用于连接老式的COM口鼠标键盘,还有链接路由器,外置调制解调器等.现在很少使用. 什么是串口,串行通讯端口?-----------------------------------------

【Arduino】使用C#实现Arduino与电脑进行串行通讯

在给Arduino编程的时候,因为没有调试工具,经常要通过使用串口通讯的方式调用Serial.print和Serial.println输出Arduino运行过程中的相关信息,然后在电脑上用Arduino IDE的Serial Monitor来查看print出来的信息.Serial Monitor不仅可以接受Arduino发送到电脑的数据,还可以向Arduino发送数据,进行双向通讯.但是这种通讯方式太过于简陋,是纯粹的手工方式,只适合调试.如果需要在电脑上通过可视化界面与Arduino进行交互,

串行通讯之UARTLoopback

目录 第1章串行通讯之UARTLoopback    2 1 USB转串口    2 2 USB Accessory    2 3 连入手机    3 4 代码改进    4 5 打开串口    4 6 写串口数据    4 7 主动读取串口数据    5 8 被动读取串口数据    5 9 关闭串口    6 第1章串行通讯之UARTLoopback 1 USB转串口 这两天在做Android手机上的串行通讯程序.手机没有串口,所以使用了USB转串口,如下图所示: 图1 USB转串口 上图中,

STM32学习笔记——SPI串行通讯(向原子哥学习)

一.SPI  简介 SPI是 Serial Peripheral interface 的缩写,就是串行外围设备接口.SPI 接口主要应用在  EEPROM, FLASH,实时时钟,AD 转换器,还有数字信号处理器和数字信号解码器之间.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,STM32 有 SPI 接口.下面是 SPI 的内部简明图:

串行通讯协议--起止式异步通讯协议(UART)

起止式异步通讯协议: 特点与格式: 起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求.其格式如图3 所示.每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身有5-7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一 位,或意味半,或二位停止位,停止位后面是不定长度的空闲位.停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿. 从图中可以看出,这种格式是靠起始位和停止位

串行通讯之.NET SerialPort异步写数据

目 录 第1章 说明    2 1 为什么需要异步写数据?    2 2 异步写数据的代码    2 3 源代码    4 第1章 说明 1 为什么需要异步写数据? 如下图所示,以波特率300打开一个串口. 图1 单击"同步发送"按钮,则数据未发送完之前写数据的函数不会返回.波特率300,每秒大概能发送25个字符,发送500个字符就需要20秒.这20秒之内,整个程序将处于假死状态. 单击"异步发送"按钮,就不会出现假死状态. 2 异步写数据的代码 异步写数据的代码如

C#委托的使用和串行通讯接收事件显示在指定控件

本实例演示定义委托,并利用委托把来自串口接收到的数据显示在文本框中!熟悉委托的定义和串行数据收发的简单功能! 本文源代码下载地址,可以酌情修改代码运行调试,串口端口我使用的COM11,你需要改成自己的才好用建议是COM1 http://download.csdn.net/detail/nieweiking/8245463 项目代码: <pre name="code" class="csharp">using System; using System.Co

SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)

SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 第二,区别在电气信号线上: SPI总线由三条信号线组成:串行时钟(SCLK).串行数据输出(SDO).串行数据输入(SDI).SPI总线可以实现多个SPI设备互相连接.提供SPI串行时钟的SPI

通用上位机框架HwLib.Automation(C#)

概述 现在的工业自动化领域,虽然组态软件因简单易用.价格合理而被广泛部署到各行各业的控制系统上.但对于一部分应用场景来说,自己开发上位机应用程序依然占有不小的市场,诸如: 1.标准化设备厂商,大量的软件授权也是一笔不菲的软件成本费用: 2.某一行业的系统提供商,每个控制系统差异不大,容易标准化: 3.上位机要求高,常规的组态软件无法满足: 4.特有的算法或者模型需要技术保密: 5.其它小规模.低成本项目: 组态软件之所以盛行最主要还是因为其可以快速实现控制需求,丰富的图库.驱动,集成的报警.归档