我下载了5个串口调试器,2个C++写的,3个C#写的,调试一台设备,被动接收数据,不发送。
2个C++写的可以接收到数据,而那3个C#写的都接收不到。但是项目要求用C#开发,该如何解决?
用VB的MSCOMM控件解决了。
参数不一样导致的呗,串口不认识语言的。
除了基本参数之外还有什么参数?
除了BaudRate、DataBits、Parity、StopBits这四个基本参数外,还有什么参数?难道C++的串口调试器和C#的有某些除了基本参数外的参数不同?
会不会跟串口的版本或者.NET运行库的版本有关呢?
.NET运行库我只装了4.0,3.5,3.0,2.0都没装,会不会跟这个有关呢。或者跟物理串口有关?
是调用dll来写的么? C# 与C++ 在调用同样的接口的时候,参数是不一样的.很多需要注意的地方, 尤其是 结构体,他俩的结构体大小不一样
我是下载的别人的例子测试的,读不到数据。我自己写的也读不到,用的不是dll,而是.NET自带的串口控件。请问参数需要如何设置?
@巨槌钟摆: 哦,这种自带的控件我没用过,还真的不清楚.我一般用的都是厂家给dll和说明
@百鸟朝凤: 我又下载了一个C#调用C++动态链接库的例子,名字叫《CommixAPI》测试了还是读不出来。怎么搞?
参数跟对方串口设置一致。
如果只是流数据,确保23交叉。跟什么jb结构毛关系没有,这里跟语言也没关系,就是时序高低电平而已。
请问23交叉是什么意思?
@巨槌钟摆: 看2,3脚定义,一根是读一根是写
@花飘水流兮: 具体看什么东西呢?
首先 一般不会 我自己测试过 c# 可以接收串口数据 但是 串口名称 和 波特率 需要对
其次 就是 如果你的机器 有一个串口接收程序正在运行 那么有可能在另一个 串口接收程序 拿到数据之前 前一个串口程序就已经取到缓冲区的数据 而导致执行级别比较低的串口程序 接收不到数据
你说的我都注意过了。
兄弟你这个问题解决了吗?
同理问题,遇到,请问兄弟是如何解决的?