c#-C#中的serialport.Write与MSCOMM控件的put_output有什么区别?

问题描述

C#中的serialport.Write与MSCOMM控件的put_output有什么区别?
我使用C#上位机中的serialport.write发送数据 下位机收到的与上位机发送的数据不一样,

使用MSCOMM控件发送则没有问题,

求问有什么区别 (T^T)

解决方案

用串口调试助手调试下, 注意Write输出的字节编码,是否有多余的换行符,停止位、校验位、波特率、校验方式。

解决方案二:
可能发送的数据量有点大,read没读完,write和read的长度不一致吧。调试一下看看。如果不一致判断长度while(readLehgth<length){
read();
}

时间: 2024-10-27 19:25:58

c#-C#中的serialport.Write与MSCOMM控件的put_output有什么区别?的相关文章

金手指Delphi中MsComm控件的安装使用

Delphi 具有功能强大.简便易用和代码执行速度快等特点,是全球公认的快速应用开发工具技术的先驱者.但是在对串口通信的控制上Delphi的帮助文档和其他书籍中很少提及,这恰恰又是在开发应用系统时会经常遇到的问题.用过VB的程序员都知道 VB的MSComm通信控件具有丰富的与串口通信密切相关的属性及事件,提供了一系列标准通信命令的接口,可以用它创建全双工的.事件驱动的.高效实用的通信程序.在这里就介绍一下如何把MSComm这个ActiveX控件加入到Delphi中,充分发挥出二者的优越性. 首先

串口通信-VB在components中添加MSComm控件

问题描述 VB在components中添加MSComm控件 VB中在components添加mscomm控件时为什么会显示"--could not be loaded"??求解...谢谢 解决方案 VB.NET直接用SerialPort控件. 解决方案二: MFC添加两个MSComm控件后提示'CMSComm' : 'class' type redefinition

MSComm控件在基于单文档中的应用

本文配套源码下载 MSComm 作为一个串行通讯控件为程序员串口通讯编程节省了很多时间.在基于对话框的应用中加入一个MSComm控件非常简单.只需进行以下操作即可: 打开"Project->Add To Project->Components and Controls->Registered Activex Controls",然后选择控件:Microsoft Communication Control,version 6.0插入到当前的工程中.这样就将类 CMSCo

Delphi中利用MSCOMM控件进行GPS数据采集

1.准备 GPS(Global Positioning System),即全球定位系统,利用24颗GPS卫星的测距和测时功能进行全球定位,在许多系统中,如机场导航系统,出租车辆管理和调度系统.江河流域的灾害信息管理和预测系统中,GPS得到了广泛的应用.本文利用MSCOMM控件实现了GPS数据的采集,可为信息管理和指挥调度等提供定位数据. 本文采用GPS的异步串行传送方式,将GARMIN 12C按NMEA-0183协议输出的数据采集到了微机,并将接收到的地理坐标转换成为直角坐标. 在DELPHI

mscomm控件 接收数据-VS2010 MFC 的MSCOMM 控件 的Get_Input()函数读取不到缓存中的数据

问题描述 VS2010 MFC 的MSCOMM 控件 的Get_Input()函数读取不到缓存中的数据 各位高手好,小弟在使用VS2010 MFC 的MSCOMM 控件时出现了一个问题: 就是在OnComm函数里调用的Get_Input()函数读取不到缓存中的数据,经过验证,发现当接收区缓存数据不为0时程序能触发OnComm消息,可是当程序运行到Get_Input()函数时,OnComm()函数仿佛就直接从Get_Input()函数返回了,后面的代码也没有运行.同时,由于Get_Input()函

保存数据-MSComm控件串口接收数据存到txt中出现乱码

问题描述 MSComm控件串口接收数据存到txt中出现乱码 我在用C++做一个串口程序,用了MSComm控件,新手遇见了点问题,我用串口助手试了试我的程序,如果十六进制发送那么我接收的数据和串口助手发送的数据不一致,出现了乱码.我还想把我接收到的数据存储在txt文件中,可能是我数据类型没有转换对,txt文件里的接收数据也是乱码,不知道哪位能指点一下. void CSendcomDlg::OnComm() { // TODO: Add your control notification handl

mfc-vc++串口上位机 MFC和MSCOMM控件

问题描述 vc++串口上位机 MFC和MSCOMM控件 我用vc++的MFC做了一个串口上位机,没有用到SerialPort类,只用的MSCOMM控件.请问为什么我做的串口那一块,比如改变了波特率下拉框的当前项的值(115200改成9600)后,实际串口波特率还是初始化时候的值(115200),其他的串口号,数据位,停止位,校验位也是这样的情况.也就是说我现在想通过选择改变组合框中当前项的值,来改变串口参数,就和串口调试助手一样,是不是还有一些函数没调用?或者没建立联系.百度了一些也不知道怎么解

c#2010 没有MSComm控件

问题描述 c#2010 没有MSComm控件 c#2010里没有Microsoft Communication Control version 6.0 控件怎么办 解决方案 C#有原生的serialport控件,不需要mscomm控件.当然非要用,也可以从vb6的安装盘上找一个,注册了放进去.在项目-添加引用-com中添加. 解决方案二: VS2010如何安装MSComm控件 解决方案三: VS2010在默认情况下是不包含MSComm控件的,MSComm是在VC6.0中的控件,据说MSComm控

基础问题.mscomm 控件添加

问题描述 我刚开始做VB.NET,我想在窗体上添加MSCOMM串口控件如何加载. 解决方案 解决方案二:vb.net中已经没有mscomm串口控件了,串口控件的名称已经改为serialport了,具体用法和mscomm类似,但在类似的oncomm事件中,serialport需要用线程来实现.解决方案三:VB.NET2003还能使用MSCOMM控件,VB.NET2008使用serialport组件.不知道LZ是哪个版本.我的资源内有VB.NET2008的串口例程.解决方案四:楼上是否有serial