惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
博客园 - Franky
U
Unit 42
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
B
Blog RSS Feed
雷峰网
雷峰网
D
DataBreaches.Net
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
美团技术团队
云风的 BLOG
云风的 BLOG
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
G
Google Developers Blog
T
Tailwind CSS Blog
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
月光博客
月光博客
Engineering at Meta
Engineering at Meta

博客园 - 衡斅

基于.net C# Socket WinForm MQTT 客户端开发 基于.Net C# 通信开发-网络调试助手 基于.Net C# 通信开发-串口调试助手 基于HBuilderX+UniApp+ColorUi+UniCloud 优宝库 开发实战(一) .net core 跨平台开发 微服务架构 基于Nginx反向代理 服务集群负载均衡 .Net Core 跨平台开发实战-服务器缓存:本地缓存、分布式缓存、自定义缓存 redis 分布式缓存实战-redis 事务 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(4)-Excel文件读、写操作 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(3)-项目依赖注入 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(2)-业务项目搭建 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(1)-Web前端页面 基于html5 plus + Mui 移动App开发(三)-食全库 基于Html5 Plus + Vue + Mui 移动App开发(三)-文件操作(读取、保存、更新数据) 基于Html5 Plus + Vue + Mui 移动App 开发(二) 基于html5 plus + Mui 移动App开发(一) 基于百度地图的产品销售的单位查看功能设计与实现 实全软件产品自动升级管理解决方案 基于服务(Web Service)的文件管理Winform客户端实现(二) 如何通过WPS 2013 API 将Office(Word、Excel和PPT)文件转PDF文件
如何通过SerialPort读取和写入设备COM端口数据
衡斅 · 2015-01-26 · via 博客园 - 衡斅

  SerialPort类用于控制串行端口文件资源。提供同步 I/O 和事件驱动的 I/O、对管脚和中断状态的访问以及对串行驱动程序属性的访问。另外,SerialPort的功能可以包装在内部 Stream 对象中,可通过 BaseStream 属性访问,并且可以传递给包装或使用流的类。
  下面本文将如何通过实现COM端口配置、SerialPort调用配置打开端口、对设备端口进行读取操作。

1.        实现COM端口配置

COM端口主要配置有:COM端口名称、波特率、数据位数、停止位、奇偶校验及数据流控制。

 

1.1.       本人采用XML文件格式,保存端口配置信息:

 

1.2.       端口配置界面读取配置信息:

 

1.3.       端口配置界面保存配置信息:

 

2.        通过SerialPort调用配置打开端口

2.1.       Winform 程序界面设计

 

2.2.       SerialPort 读取配置进行打开操作

通过COM端口配置后,使用SerialPort类读取配置信息打开端口进行数据读、写操作。

 

3.        对设备端口进行读取操作

为了适应各种设备进行读、写操作,SerialPort类提供多个读、写数据方法:

 

  至此,如何通过SerialPort读取和写入设备COM端口数据,分享、介绍完毕。通过了解和熟悉SerialPort类,我们就可以在检测系统中实现直接读取检测设备试验数据。在开发过程中,有些设置只需要发送一命令后,就直接等待试验结果,也有设备是需要发送一条命令,返回一条结果的方式。此时需要根据不同时设备调整实现方式,比如实现SerialPort类的DataReceived事件,等待设备返回结果;使用计时器方式发一条,得到设备结果。