c# 循环com,分别对串口写入与读取,获取需要的串口信息
private SerialPort serialPort;//串口对象类private string strPortDataReceived = "";//记录串口返回值private string serialPortName = "";//记录端口号private bool isGet = false;/// <summary>/// 获取产品设备号/// </summary>/// <returns>设备号</returns>public List<string> GetProductNumBySerialPort(){List<string> productNumList = new List<string>();string[] ports = SerialPort.GetPortNames();if (ports.Length > 0){for (int i = 0; i < ports.Length; i++){string portName = ports[i];serialPort = new SerialPort(portName, 115200, Parity.None, 8, StopBits.One);//serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);//DataReceived事件委托serialPort.ReceivedBytesThreshold = 1;serialPort.RtsEnable = true;serialPort.WriteTimeout = 500;serialPort.ReadTimeout = 500;try//这里写成异常处理的形式以免串口打不开程序崩溃 {serialPort.Open();}catch { }if (serialPort.IsOpen){//byte[] ar = StringToByteHelper.HexStringToByteArray("1F1109");byte[] WriteBuffer = new byte[] { 0x1F, 0x11, 0x09 };try{serialPort.Write(WriteBuffer, 0, WriteBuffer.Length);//获取设备编号 }catch (Exception ex){string str = ExceptionClass.GetExceptionMsg(ex, "串口读写超时"+ "\r\n");ExceptionClass.WriteException(str);}//Thread.Sleep(100);int r = 0;//读取返回数据while (serialPort.BytesToRead == 0){r++;Thread.Sleep(1);if (r >= 500){break;}}Thread.Sleep(50); //50毫秒内数据接收完毕,可根据实际情况调整r = 0;byte[] recData = new byte[serialPort.BytesToRead];serialPort.Read(recData, 0, recData.Length);string strPortDataReceived = System.Text.Encoding.Default.GetString(recData);Console.WriteLine(strPortDataReceived);if (strPortDataReceived.Length >= 17){productNumList.Add(strPortDataReceived.Substring(2, 4));}serialPort.Close();//关闭该端口 }else{//MessageBox.Show("串口打开失败!");//return false; }}}else{//MessageBox.Show("没有可用的串口!"); }return productNumList;}
转载于:https://www.cnblogs.com/xunyiHe/p/10538794.html
c# 循环com,分别对串口写入与读取,获取需要的串口信息相关推荐
- python实现读取传感器发送到串口的数据,并将读取的串口数据写入文件、数据库存储
说明:本代码经本人测试,stm89c51等开发板传感器采集数据发送到串口,实现读取并写入数据库,不懂之处大家留言,看见会及时回复大家. 1:读取串口数据写入csv文件: #!/usr/bin/p ...
- 基于串口助手的STM32与计算机进行串口通信
基于串口助手的STM32与计算机进行串口通信 序 言 一. 串口通信概述 二.项目说明 三.实战过程 1)实现stm32向上位机发送字符 2)实现stm32发和收 3)Keil中针对stm32系统进行 ...
- c#中文件的写入与读取
在我们做名片管理时用到了对于名片的存储与读入问题.首先我们需要获取当前的路径引用using System.IO;命名空间.我们在写入之前先把card类型的一条记录转化成string类型的数组方便写入. ...
- 串口屏与6050_MPU6050温度值的读取与转换及串口通信,请指导
MPU6050温度值的读取与转换及串口通信,请指导 [复制链接] 想读取6050的温度,并在上位机PC上的串口助手显示,可是串口上显示的全是乱码方块,代码如下: #include #include t ...
- python树莓派串口通信实例_Python实现树莓派USB串口通讯及云端对接
→ USB串口通讯 树莓派上自带一个串口,用于连接蓝牙或是串口命令行,串口资源很少,对于嵌入式的应用来说串口设备很多,需要的串口数量也很多,因为通过USB外接串口是一个不错的选择. 1. 我手中的US ...
- 树莓派python串口中文输出_Python实现树莓派USB串口通讯
→ USB串口通讯 树莓派上自带一个串口,用于连接蓝牙或是串口命令行,串口资源很少,对于嵌入式的应用来说串口设备很多,需要的串口数量也很多,因为通过USB外接串口是一个不错的选择. 1. 我手中的US ...
- android 串口一直打开_实例 | 使用Python串口实时显示数据并绘图
今天为大家分享一篇使用Python串口实时显示数据并绘图的例子,具有很好的参考价值,希望对大家有所帮助. 一.安装pyserial以及基本用法 使用pyserial进行串口传输,在cmd下输入命令pi ...
- rxtx串口事件不触发_一种串口高效收发思路及方案
摘要:本文在探讨传统数据收发不足之后,介绍如何使用带FIFO的串口来减少接收中断次数,通过一种自定义通讯协议格式,给出帧打包方法:之后介绍一种特殊的串口数据发送方法,可在避免使用串口发送中断的情况下, ...
- python串口通信_python 读取串口数据的示例
python3 读取串口数据 demo 最近在写一个demo,zigbee串口连接树莓派,树莓派使用串口通信接受zigbee穿过来得值.其中我是用的树莓派是3代B+,zigbee每隔三秒钟从串口输出数 ...
- FPGA 串口中断_一个严谨的STM32串口DMA发送amp;接收(1.5Mbps波特率)机制
昨天分享的<嵌入式大杂烩读者福利:第一期>大家有去抽奖吗,没抽的可参与抽奖,碰碰运气.我最喜欢抽奖了,还记得前几个月疫情严重时期连抽中了3包口罩,真刺激,哈哈.之后多多安排抽奖,敬请期待. ...
最新文章
- linux系统编码修改
- 【struts2+hibernate+spring项目实战】实现用户登录功能(ssh)
- Winsock Error Codes
- 洛谷 P1506 拯救oibh总部-dfs染色法
- wireshark tcp抓包分析_网络分析系列之八_使用Wireshark抓包
- cxf restful_使用Apache CXF开发RESTful服务
- 小程序 WXS响应事件(滚动菜单栏tab吸顶)
- 不要再危言耸听!家用电脑辐射全揭秘
- 中国移动通信研究院笔试题2
- 超全面超详细的Linux学习入门系列教程
- SD卡容量变小恢复方法
- 不是有效的win32应用程序
- 如何在VMware虚拟机中查看Linux的IP地址
- flask android app socketio加解密 匿名加密聊天室 不被任何官方非官方机构个人监视的匿名聊天室!!! 想聊什么就聊什么!
- java多线程设计模式详解
- Ubuntu 22.04 LTS root登录、修改当前用户名和主机名
- oracle锁矩阵,你有多了解Oracle Enqueue lock队列锁机制?
- 智能家居论文文献_智能家居控制系统界面设计结论与参考文献
- 四、Pinia 的安装及其基本使用
- 视觉追踪热图帮Instagram被吐槽新l
热门文章
- 算法:翻转整数7. Reverse Integer
- Json转换为Model,Struct,Class对象 Swift
- 算法:Path Sum(路径总和)
- UVAOJ1586题解
- Network Delay Time
- 【2016-2017 ACM-ICPC, Egyptian Collegiate Programming Contest (ECPC 16) A】The game of Osho【SG函数+找规律】
- 降维系列之 LLE 局部线性嵌入
- Raki的读paper小记:An Effective Transition-based Model for Discontinuous NER
- 667.优美的数列II(力扣leetcode) 博主可答疑该问题
- mysql 升级 乱码_mysql3升级到mysql5解决乱码心得