遇到一个C#的串口通信程序问题,特来求教_(:з」∠)_

问题描述

我写了一个程序利用2个端口连接2台仪器,过程是这样的:在窗体的load事件中就会打开serialHVT.Open();serialPLC.Open();我有4个功能按钮,每个功能对应一个计时器,按钮方法内会发送一个指令给一个仪器,计时器内也会有一个指令发送给另外一个仪器,当点击第一个按钮时会触发第一个计时器,时间为5秒,5秒过后关闭该计时器,模拟点击第二个按钮,第二个按钮会继续触发第二个计时器,以此类推然后问题就出现在这些过程当中,总会提示2个之中的某个端口被关闭希望各位大神给指导下,萌新在此谢过各位大神

解决方案

解决方案二:
执行前先判断一下端口是否打开,不是的话open一下不就好了
解决方案三:
可能是你连接的硬件强制关了串口了,跟你的程序无关,不过看你写的代码,还真是你的问题。。
解决方案四:
引用2楼wyd1520的回复:

可能是你连接的硬件强制关了串口了,跟你的程序无关,不过看你写的代码,还真是你的问题。。

我判断过是否关闭,关闭的话再打开,然后运行到这步的话就会报找不到这个端口_(:з」∠)_

时间: 2024-08-03 19:19:56

遇到一个C#的串口通信程序问题,特来求教_(:з」∠)_的相关文章

我在写串口通信程序遇到的坑

我在做基于HC6800的51单片机上,写串口通信程序遇到了许多坑. 一个大坑:为什么HC6800上U转串口不能发送数据. 因为我们向HC6800烧程序都是使用图1所示的软件,所以我想当然地认为可以直接通过HC6800上的U转串进行串口通信,而我的同学信誓旦旦地告诉我可以.坑爹.并且这个软件好像也在提示可以用直接用U转串,进行串口通信(见图2).但是当我打开串口调试助手的时候(如图3),却发现单片机掉电了(如图4).其实HC6800上有另一个串口的,我们只要把连接图5黄框处串口.并且在图4中的6处

求解答-C语言51单片机串口通信程序求教

问题描述 C语言51单片机串口通信程序求教 #include #include #include #define INBUF_LEN 4 //数据长度 unsigned char inbuf1[INBUF_LEN]; unsigned char checksum,count3; bit read_flag=0; void init_serialcomm(void) { SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr TMOD

在CB6下基于api函数编写串口通信程序简介

1-在C++ Builder 6.0下基于api函数编写串口通信程序简介: 在dos/win95/win98的年代,操作系统对串口是不保护的,也就是说将串口的的资源完全开放给用户,用户可以用直接操作硬件的函数(比如说TC2.0下的inport()和outport()函数) 跟串口直接打交道,这时候用户使用直接操作串口的函数怎样"折磨"串口都是没有问题的,操作系统根本就不管不问,对串口操作所造成的一切后果都是用户一个人承担的,这时候用户对串口具有高度自由的支配权:但是,这种情况好景不长,

qt-Qt5 怎样 把 串口通信 程序 编译到Android 平台上 使用 ?

问题描述 Qt5 怎样 把 串口通信 程序 编译到Android 平台上 使用 ? 如题.Qt5 怎样 把 串口通信 程序 编译到Android 平台上 使用 ?现在编好了PC版,但是怎么编译到Android上,似乎有各种不兼容. 解决方案 应该主要是串口库的问题.java中的串口通讯是通过非标准库实现的,所以,很明显需要根据采用的库.平台进行部署.在android上使用,首先需要库的linux版本,然后还需要是for ARM的.

DOS下串口通信程序来传送文件的源代码

接收程序: #include <dos.h>#include <fstream.h>#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <math.h>#define RXD 0 //接收#define TXD 0 //发送#define LSB 0 //波特率调节低8位#define MSB 1 //波特率调节高8位#define IER 1 // 中断起用

Linux下串口通信异常的问题

问题描述 Linux下串口通信异常的问题 本人在linux下进行串口通信程序开发,把串口通信放在一条单独的线程里,问题来了,程序在启动另外一个计算线程后,串口通信出现异常.两线程间并没有任何数据共享,串口通信无论非组塞还是阻塞都有问题!请高手分析下原因! 解决方案 串口通信的帧同步问题 解决方案二: 出现异常是什么意思? 串口读和写是不同的线程么?还是就一个简单的线程啊?

VB串口通信出现实时错误8020

问题描述 本人VB新手,最近用USB转RS232用VB编写出现了8020的问题,操作系统是WIN764位.用串口调试助手测试是没有问题的,可以发送接受数据,驱动说明没有问题.程序是从CSDN论坛上下载的(VB串口通信程序(VB程序)).请问各位大神有什么办法解决吗?下面附上代码和一些串口调试助手,和端口截图.代码:PrivateSubCMDRe_Click()TRe.Text=TRe.Text&vbCrLf&CStr(MSComm1.Input)MsgBox"2222first&

Android串口通信(基于Tiny6410平台)

更多信息请移步:http://xiebaochun.github.io/ 友善之臂的Android系统有他们自己编写的一个串口通信程序,网上没有找到他的源代码,而且界面操作不在一个界面,不是很方便,这里我自己写了一个粗糙点的串口通信程序. 同样这里还是调用友善之臂的friendlyarm-hardware.so库文件. 在Android工程文件下面加入com.friendlyarm.androidSDK包,在其下添加HardwareControler.java.下面我把我做的截图发上来.    

VS2005串口通信问题

问题描述 我是VS初学者,我没用过VC6.0,对托管也不怎么理解.最近想做一个和PLC通信的程序,在网上看到很多千篇一律的代码,结果发现根本行不通,所有的方法都依赖于MSCOMM控件,代码如下:voidCSCommTestDlg::OnComm() { VARIANTvariant_inp; COleSafeArraysafearray_inp; LONGlen,k; BYTErxdata[2048];//设置BYTE数组(8位无符号整数) CStringstrtemp; if(m_ctrlCo