c# 连续发送-c#中serialPort 连续发送3次,如果直接发送3次的话 会出现问题接收不完全或其他错误。

问题描述

c#中serialPort 连续发送3次,如果直接发送3次的话 会出现问题接收不完全或其他错误。

c#中serialPort 每发送一次接收一个返回值,要连续发送3次,如果直接发送3次的话 会出现和接收的冲突,如何解决这种冲突 让他能顺利的收发完成,分成3步操作的话是可以的已经测试了。
发送方式
第一次发送A1 下位机返回 B1
第二次发送A2 下位机返回 6个数据
第三次发A3 下位机返回25个数据
如何让这三次发送不冲突,能顺利完成 ,求大神解答。

解决方案

我也在找这个问题的答案

解决方案二:

可以在 writechar 函数那里设置一个标示变量, 如果每次writetoport 后访问了writechar函数,则进行下次writetoport,否则 while(1){}等待。

这样就可以解决问题了。
在serialport类中加入 函数 setflag(), 当访问writechar后 设置flag为0,for,否则flag为1. 每次writetoport之前要把flag设置成1,只有访问了writechar后才设置成0.

时间: 2024-09-17 04:40:26

c# 连续发送-c#中serialPort 连续发送3次,如果直接发送3次的话 会出现问题接收不完全或其他错误。的相关文章

timesetevent windows-在一个进程中,连续调用函数timeSetEvent,定时器会不会有冲突

问题描述 在一个进程中,连续调用函数timeSetEvent,定时器会不会有冲突 1.调用函数timeSetEvent创建一个定时器A,每隔1000MS,进入回调函数发送一堆数据 2.调用函数timeSetEvent创建一个定时器B,每隔50MS,进入回调函数发送一堆数据 那么,如果在定时器A,在回调函数正在发送数据期间,定时器B也到时了,那么该怎么处理? 我自己试验了下,就不会在处理定时器B了,那么这个问题该怎么解决啊.

ASP.NET 2.0发送电子邮件中存在的问题

asp.net|问题 在新发行的ASP.NET 2.0版本中,微软不再建议使用System.Web.Mail命名空间而代之以新的System.Net.Mail命名空间.在这个新库中引入了许多新特征,但是在发送邮件的方式方面也相应地带入了一些小错误. 一. 发送邮件 在详细讨论这些小错误之前,让我们先看一段示例代码(我们假定你已经在文件开始添加了"using System.Net.Mail"): MailMessage msg = new MailMessage();msg.From =

excel表格中怎么连续使用格式刷?

  excel表格中怎么连续使用格式刷?         1.格式刷在"常用工具栏"上面在粘贴的旁边 2.选中含有格式的单元格区域 3.单击格式刷,选中的单元格四周会有蚂蚁线出现 4.单击并拖动鼠标选择目标区,即可将被复制到选中的目标区域. 5.选中含有格式的单元格区域,双击格式刷 6.就可以把同一个格式"刷"给多个单元格,可以是不连续的单元格 7.退出的方法:键盘esc或者单击格式化图标

strut2-Struts2 如何发送参数中带有list对象的请求

问题描述 Struts2 如何发送参数中带有list对象的请求 状态描述: 需要从SSH环境中发送一个POST请求到网络上的某个获取数据的URL,但是此Url的post请求中有一个对象Object1,object1包含两个List的对象,我从网络上查了很多发送post请求的数据,但是根本无法找到如何在请求中加入list的,当时我想是不是可以用url?param=object1.list.get(0).param = value来进行传递,但是没成功. 我知道在PHP中有的POST请求封装的非常顶

如何添加 android 程序并显示在发送列表中?

问题描述 如何添加 android 程序并显示在发送列表中? 我实现了一个应用程序,把照片更新到我自己的服务器上. 当实现下面的代码时,我想让程序能在发送列表中显示.如何实现? Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/jpeg"); share.putExtra(Intent.EXTRA_STREAM, Uri.parse(FilePath)); startActivity(Intent.c

数据包-在win7中使用socket UDP 编程时,数据发送不出来

问题描述 在win7中使用socket UDP 编程时,数据发送不出来 各位大哥大姐,我在使用 socket 做 UDP编程时,遇到一个非常奇怪的问题 1,在win7下使用 sendto 函数发送数据时,sendto函数的返回值正常,但是有时候没有数据发送出来(抓不到数据包),但是当拔掉网线,重插一下就有数据了,但是待会儿就又没有了(这个不是网线接触不好,因为电脑上网一直正常) 2,同样程序,在XP系统里没有问题 求高手指点,感激不尽!!!!!

android-如何在发送列表中添加应用显示

问题描述 如何在发送列表中添加应用显示 应用是下载图片到本机服务器上,怎么样能在发送列表中显示应用列表? Intent share = new Intent(Intent.ACTION_SEND);share.setType(""image/jpeg"");share.putExtra(Intent.EXTRA_STREAM Uri.parse(FilePath));startActivity(Intent.createChooser(shareShare Imag

Linux中向远程服务器上的所有用户发送信息

风信网(ithov.com)原创文章:Linux中向远程服务器上的所有用户发送信息,我们可以通过rwall命令来实现,使用rwall(向所有人远程写)命令同时发送消息到网络中的所有用户. rwall hosthttp://www.aliyun.com/zixun/aggregation/11696.html">name file 当使用CDE或OpenWindows等窗口系统时,每个窗口被看成是一次单个的登录;如果用户登录次数超过一次则消息直接发送到控制窗口

关于消息发送过程中messageId变动的问题

问题描述 情况描述,需要在发送消息时,在消息扩展属性中添加一个以messageId为键值的数据,供本地和消息接收方查询特定消息.出现问题描述:消息在异步发送时在属性字典中创建的以messageId为键值的数据,并发送给对方,但在发送过程中,messageId发生变化,变为系统指定的长格式,问题来了,接收方的messageId是变了,但属性字典的键值还是未变之前的,导致接收方根本查询不到,请教解决方案!补充:1.在收到回执后确定messageId,但这个时候消息早已发出:            2