首页新闻找找看学习计划

串口调试器C#接收不到数据,C++可以。

0
[已解决问题] 解决于 2017-07-04 08:27

我下载了5个串口调试器,2个C++写的,3个C#写的,调试一台设备,被动接收数据,不发送。

2个C++写的可以接收到数据,而那3个C#写的都接收不到。但是项目要求用C#开发,该如何解决?

SogetsuKazama的主页 SogetsuKazama | 菜鸟二级 | 园豆:204
提问于:2017-06-23 03:18
< >
分享
最佳答案
0

用VB的MSCOMM控件解决了。

SogetsuKazama | 菜鸟二级 |园豆:204 | 2017-06-28 09:58
其他回答(5)
0

参数不一样导致的呗,串口不认识语言的。

爱编程的大叔 | 园豆:29841 (高人七级) | 2017-06-23 09:29

除了基本参数之外还有什么参数?

支持(0) 反对(0) SogetsuKazama | 园豆:204 (菜鸟二级) | 2017-06-23 11:37

除了BaudRate、DataBits、Parity、StopBits这四个基本参数外,还有什么参数?难道C++的串口调试器和C#的有某些除了基本参数外的参数不同?

支持(0) 反对(0) SogetsuKazama | 园豆:204 (菜鸟二级) | 2017-06-23 11:49

会不会跟串口的版本或者.NET运行库的版本有关呢?

支持(0) 反对(0) SogetsuKazama | 园豆:204 (菜鸟二级) | 2017-06-23 11:50

.NET运行库我只装了4.0,3.5,3.0,2.0都没装,会不会跟这个有关呢。或者跟物理串口有关?

支持(0) 反对(0) SogetsuKazama | 园豆:204 (菜鸟二级) | 2017-06-23 11:55
0

是调用dll来写的么? C# 与C++ 在调用同样的接口的时候,参数是不一样的.很多需要注意的地方, 尤其是 结构体,他俩的结构体大小不一样

百鸟朝凤 | 园豆:54 (初学一级) | 2017-06-23 14:02

我是下载的别人的例子测试的,读不到数据。我自己写的也读不到,用的不是dll,而是.NET自带的串口控件。请问参数需要如何设置?

支持(0) 反对(0) SogetsuKazama | 园豆:204 (菜鸟二级) | 2017-06-23 17:21

@巨槌钟摆: 哦,这种自带的控件我没用过,还真的不清楚.我一般用的都是厂家给dll和说明

支持(0) 反对(0) 百鸟朝凤 | 园豆:54 (初学一级) | 2017-06-23 21:57

@百鸟朝凤: 我又下载了一个C#调用C++动态链接库的例子,名字叫《CommixAPI》测试了还是读不出来。怎么搞?

支持(0) 反对(0) SogetsuKazama | 园豆:204 (菜鸟二级) | 2017-06-26 10:42
0

参数跟对方串口设置一致。

如果只是流数据,确保23交叉。跟什么jb结构毛关系没有,这里跟语言也没关系,就是时序高低电平而已。

花飘水流兮 | 园豆:10527 (专家六级) | 2017-06-23 22:56

请问23交叉是什么意思?

支持(0) 反对(0) SogetsuKazama | 园豆:204 (菜鸟二级) | 2017-06-23 23:00

@巨槌钟摆: 看2,3脚定义,一根是读一根是写

支持(0) 反对(0) 花飘水流兮 | 园豆:10527 (专家六级) | 2017-06-23 23:39

@花飘水流兮: 具体看什么东西呢?

支持(0) 反对(0) SogetsuKazama | 园豆:204 (菜鸟二级) | 2017-06-26 10:41
0

首先 一般不会 我自己测试过 c# 可以接收串口数据 但是 串口名称 和 波特率 需要对

其次 就是 如果你的机器 有一个串口接收程序正在运行 那么有可能在另一个 串口接收程序 拿到数据之前 前一个串口程序就已经取到缓冲区的数据 而导致执行级别比较低的串口程序 接收不到数据

小眼睛老鼠 | 园豆:2774 (老鸟四级) | 2017-06-26 16:16

你说的我都注意过了。

支持(0) 反对(0) SogetsuKazama | 园豆:204 (菜鸟二级) | 2017-06-26 18:32
0

兄弟你这个问题解决了吗?

ritacc-双 | 园豆:202 (菜鸟二级) | 2019-04-29 10:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册