笔记本电脑C#应用程序中的通信端口问题

笔记本电脑C#应用程序中的通信端口问题,c#,serial-port,C#,Serial Port,我正在使用visual studio 2008并使用.net 3.5在C#中开发windows窗体应用程序 我正在进行串行通信,单击一个按钮,应用程序将获得所有可用通信端口的列表。然后,我依次打开每个端口,发送自定义握手请求命令,并等待几秒钟的回复,扫描我正在寻找的设备 在我的电脑上(以及我测试过的其他8台电脑上)一切正常,但当我在笔记本电脑上运行该程序时,我的程序似乎看到了所有的通信端口并发送了一个请求,但我的设备从未接收到它。我试过使用硬件通信端口和usb到串行转换器。我也在不同制造商的几台

我正在使用visual studio 2008并使用.net 3.5在C#中开发windows窗体应用程序

我正在进行串行通信,单击一个按钮,应用程序将获得所有可用通信端口的列表。然后,我依次打开每个端口,发送自定义握手请求命令,并等待几秒钟的回复,扫描我正在寻找的设备

在我的电脑上(以及我测试过的其他8台电脑上)一切正常,但当我在笔记本电脑上运行该程序时,我的程序似乎看到了所有的通信端口并发送了一个请求,但我的设备从未接收到它。我试过使用硬件通信端口和usb到串行转换器。我也在不同制造商的几台笔记本电脑上进行了测试。它们的行为完全一样

有没有人遇到过类似的问题

更新1

笔记本电脑似乎能够接收来自设备的数据,但仍然无法传输。当然,台式机没有任何问题

更新2

笔记本电脑可以接收和传输数据。 因此,这将问题缩小到我的C#软件,它可以在台式机上进行串行通信,但不能在笔记本电脑上进行相同的操作

更新3

解决了。这个问题是由我测试笔记本电脑的内置调制解调器引起的。调制解调器保留的com端口(通常为COM3)不会显示在设备管理器中,但可以在windows注册表中看到。因此,每当我的串行端口对象请求com端口列表时,它就会得到调制解调器端口,这些调制解调器在端口扫描期间被我的握手请求阻塞。
像往常一样,一切都是愚蠢而简单的。

听起来你的设备对电压水平很挑剔。RS-232不能很好地解决这个问题,允许+/-5V到+/-28V之间的任何电压。大多数设备使用+/-12V电压最为满意,这是台式机中可用的标准电压。然而,笔记本电脑始终处于低端,+/-5V典型电压。你对此无能为力


要测试这一理论,请排除由代码引起的可能性,并确保它与空调制解调器一起工作。将TxD连接到RxD,以便接收发送的内容。然后使用超级终端或油灰。如果后者也看不到设备,则是硬件问题。

是。现在去古董店买一根nul调制解调器电缆。我试过超级终端。我可以从设备接收数据,但不能在笔记本电脑上传输数据。这符合模式。该设备的输出信号有很多oompf,笔记本电脑不会有问题。笔记本电脑上没有足够的oompf输出信号,设备无法看到它。谷歌“rs232信号助推器”。我仍然有一些在附近;)