上位机程序设计——串口助手程序设计

一、串口通信简介

1.同步通信和异步通信

同步通信:通信双方使用同一频率的时钟,发送端在发送数据的同时,提供一个时钟信号,并按照一定的约

定(例如:在时钟信号的上升沿,将数据发送出去)发送数据,接收端根据发送端提供的时钟信号,以及大

家的约定,接收数据。发送方要以固定的节奏去发送数据,而接收方要时刻做好接收数据的准备,识别到前

导码(同步字节:1­2个字节)后马上要开始接收数据了。同步这种方式中因为分组很大,很长一段数据才

会有额外的辅助位负载,所以效率更高,更加适合对速度要求高的传输,当然这种通信对时序的要求也更

高。

异步通信:通信双方可以有各自的时钟,发送方发送的时间间隔可以不均,接收方是在数据的起始位和停止

位的帮助下实现信息同步的。这种传输通常是很小的分组,比如:一个字符为一组,数据组配备起始位和结

束位。所以这种传输方式的效率是比较低的,因为额外加入了很多的辅助位作为负载,常用在低速的传输

中。

2.串口通信

串口通信(SerialCommunications)属于异步通信。串行接口(串口)是一种可以将接受来自CPU的并行

数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU

的器件。一般完成这种功能的电路,我们称为串行接口电路。

串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数

据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。

串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹

配。

二、项目描述:

本项目将设计一个串口助手上位机程序。通过本项目学习,让学生掌握Windows窗体应用程

序的设计编程方法,掌握串口(SerialPort)组件以及相关控件的编程应用

三、项目任务:

设计一个串口助手上位机程序,功能要求如下

1.具备自动和手动扫描可用串行端口功能

2.通过下拉列表框切换串口端口号

3.定时器检测串口工具异常

4.通过按钮开关打开和关闭串口

5.可以设置波特率

6.以ASCII和HEX两种格式收发信息

7.支持中文信息收发,且具有保存信息功能

8.收发信息框,并具有清除信息功能

9.可实现定时发送信息、回车换行、断帧等功能

10.可以设置CRC校验码

11.状态栏显示接收和发送信息的字节数

四、任务实施:

1. 根据项目任务需求,完成串口助手窗口界面的布局和设计。

使用到的控件有:groupBox、label、comboBox、button、checkBox、textBox、statusStrip、timer、serialPort

代码编写。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.IO.Ports;
using System.Linq;
using System.Reflection.Emit;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Xsl;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Button;


namespace 串口助手
{
    public partial class MainForm : Form
    {
        [DllImport("kernel32")]
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);   // 系统dll导入ini写函数
        [DllImport("kernel32")]
        private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);  // 系统dll导入ini读函数

        string FileName = System.AppDomain.CurrentDomain.BaseDirectory + "Backup.ini";        // ini 文件名
        StringBuilder BackupBuf = new StringBuilder(50);    // 存储读出ini内容变量
        //SerialPort serialPores = new SerialPort();
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是LabVIEW上位机程序设计的一般流程: 1.需求分析:明确上位机程序的功能需求、性能要求和运行环境等方面,包括需要控制的设备、采集的数据类型、数据处理方式等。 2.界面设计:设计程序的用户界面,包括各种控件、图表以及其他交互方式。 3.程序模块化:将程序分解为不同的模块,每个模块负责完成特定的功能,以便于程序的编写、测试和维护。 4.程序编写:使用LabVIEW进行图形化编程,编写程序的各个模块,实现上位机的各种功能。 5.程序测试:对程序进行测试和调试,包括功能测试、性能测试、稳定性测试等方面,确保程序可以正常工作。 6.程序部署:将程序部署到目标计算机或嵌入式系统中,进行系统的维护和升级。 在设计LabVIEW上位机程序时,需要注意以下几点: 1.需求明确:在程序设计之前,需要明确系统的功能需求和性能要求,以及程序的运行环境等信息,以便更好地设计程序。 2.界面友好:程序的用户界面应该易于使用和理解,可以使用图标、颜色等方式来提高用户体验。 3.程序模块化:在程序设计过程中,需要尽可能地将不同的功能模块分离出来,以便更好地维护和升级程序。 4.测试全面:在程序测试阶段,需要对程序进行全面的测试,包括功能测试、性能测试、稳定性测试等方面。 5.文档完备:在程序设计完毕后,需要编写完整的文档,包括用户手册、设计文档、测试报告等方面,以便更好地维护程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值