当我尝试连接到本地端口,计算机 - >连接本地,使用Portmon v.3.02,我收到一个错误消息,错误2,在一个小错误对话框中:

我以管理员身份运行该工具(如果没有,我收到错误6).
顺便说一下,这是一个Windows 7 x64.在32位,在Windows 7 x86中,它工作正常.我该如何解决这个问题?
我需要两个设备(PC和微控制器)之间的简单通信协议.PC必须向微软发送一些命令和参数.微必须传输一个字节数组(来自传感器的数据).
数据必须受到噪声保护(除了奇偶校验,我认为我还需要一些其他的数据校正方法).
有没有标准的解决方案呢?(我只需要一个想法,而不是完整的解决方案).
PS任何建议表示赞赏.PPS对不起任何语法错误,希望你理解.
编辑1.我还没有决定它是主/从协议还是双方都可以发起通信.PC必须知道微工作何时完成工作并且可以发送数据.如果数据准备就绪,它可以连续轮询微观,或者当作业完成时微观可以发送数据.我不知道哪个更好更简单.
编辑2. 硬件和物理层协议.由于PC中使用RS-232 C串行标准,我将使用异步通信.我将只使用RxD,TxD和GND信号.我无法使用额外的电线,因为微控制器AFAIK不支持它们.顺便说一下,我正在使用AVR ATmega128芯片.
所以我将使用固定波特率,8位数据,2个停止位而不进行奇偶校验(或使用?).
我有一些遗留代码,它通过调用EnumPorts()函数然后过滤以"COM"开头的端口名称来提供PC上可用COM端口的列表.
出于测试目的,如果我可以将此代码用于com0com这样的代码,它将非常有用,它提供了作为零调制解调器循环在一起的虚拟COM端口对.
但是该EnumPorts()函数找不到com0com端口(即使没有过滤"COM").HyperTerminal和SysInternals PortMon都可以看到它们,所以我确信它安装正确.
那么还有其他一些Win32功能可以提供可用串口的明确列表吗?
在将RXTX用于许多不同的项目之后,我遇到了许多烦人的差异和问题,这些问题只能明智地归结为库中的错误 - 死锁,种族危险以及RXTX库深处的监视器线程被打开阻止关闭的程序(即使我使用的所有端口都已关闭!)运行最新的"不稳定"版本有所帮助,但它仍然远离我称之为可靠的地方,项目上的活动似乎相当低现在.
但是,搜索RXTX的免费跨平台替代方案似乎没有提出太多其他方面.
还有另一个图书馆,任何人都试过更幸运吗?我不需要并行端口支持,只需要串行,并且它不一定必须与RXTX或javax.commAPI 兼容.
我正在尝试使用PuTTY通过计算机的串行线进行通信.我已经配置了正确的串行线,波特率,数据位数,停止位,奇偶校验和流量控制,并建立了连接.当我单击"确定"打开连接时,我显示一个黑屏,并且每次按键都被发送而没有在屏幕上显示(窗口保持黑色).如何配置PuTTY,以便在按Enter键后它只发送我的命令或操作码?
我在大学期间使用PuTTY进行Telnet/SSH,它总是显示我的命令,只有在我按下回车键后输入它们,所以我有点困惑.
从Windows我可以使用以下命令与串口设备通信:
mode com1: baud=9600 data=8 parity=n stop=1
copy con com1
alt+18alt+2ctrl+z
Run Code Online (Sandbox Code Playgroud)
设备启动请求的操作.
当我尝试从一个独立的debian盒子或同一个windows机器的debian virtualbox实例完成相同的操作时,到目前为止我没有运气.
这是等效的linux命令(至少我是这么认为的)
stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb
echo '\x12\x02' > /dev/ttyS0
Run Code Online (Sandbox Code Playgroud)
什么都没发生.
有人可以指引我走向正确的方向吗?
我正在尝试使用FTDI通过USB端口发送/接收数据,因此我需要使用C/C++处理串行通信.我正在使用Linux(Ubuntu).
基本上,我连接到正在侦听传入命令的设备.我需要发送这些命令并读取设备的响应.命令和响应都是ASCII字符.
使用GtkTerm一切正常,但是当我切换到C编程时,我遇到了问题.
这是我的代码:
#include <stdio.h> // standard input / output functions
#include <stdlib.h>
#include <string.h> // string function definitions
#include <unistd.h> // UNIX standard function definitions
#include <fcntl.h> // File control definitions
#include <errno.h> // Error number definitions
#include <termios.h> // POSIX terminal control definitions
/* Open File Descriptor */
int USB = open( "/dev/ttyUSB0", O_RDWR| O_NONBLOCK | O_NDELAY );
/* Error Handling */
if ( USB < 0 )
{
cout << …Run Code Online (Sandbox Code Playgroud) 我知道我可以使用例如pySerial与串口设备通信,但如果我现在没有设备但仍需要为它编写客户端怎么办?如何在Python中编写"虚拟串行设备"并与pySerial通信,就像我会说,运行本地Web服务器?也许我只是不好好搜索,但我一直无法找到有关此主题的任何信息.
我正在对一个串行协议进行逆向工程,并对糟糕的工具感到沮丧.有没有人知道一个好的,免费的工具,用于在Windows上向/从串行端口记录数据?
要求:
有任何想法吗?Portmon可以工作,但它的日志很难处理,它的过滤器实际上没用; 我也试过一些商业工具,似乎没有什么比这更合适了.