使用pySeri的RS232客户端

2024-07-05 14:14:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个RS-232客户端应用程序,它连接到一个设备并读取一些信息,目前有一个Win32应用程序来做同样的事情,我想通过创建一个python应用程序来实现它的可移植性。我进行了一次串行数据采集(端口号.exe)软件来查看有什么样的Tx-Rx包,我正在尝试用python代码重新创建它们,没有太多帮助。当我比较端口号.exe在我的python应用程序和Win32应用程序之间的输出,我可以看到一些差异,特别是在初始端口设置部分。所以,如果你们中的任何一个能够帮助我更好地理解以下请求-响应转储,那就太好了,
TIA!
来自win32应用程序的请求-响应转储:

0  4:22:29 PM  ntvdm.exe  IRP_MJ_CREATE  Serial0  Options: Open 
0  4:22:29 PM  SUCCESS  
1  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_BAUD_RATE  Serial0  
1  4:22:29 PM  SUCCESS  
2  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_LINE_CONTROL  Serial0  
2  4:22:29 PM  SUCCESS  
3  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_CHARS  Serial0  
3  4:22:29 PM  SUCCESS  
4  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_HANDFLOW  Serial0  
4  4:22:29 PM  SUCCESS  
5  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_BAUD_RATE  Serial0  
5  4:22:29 PM  SUCCESS  
6  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_LINE_CONTROL  Serial0  
6  4:22:29 PM  SUCCESS  
7  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_CHARS  Serial0  
7  4:22:29 PM  SUCCESS  
8  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_HANDFLOW  Serial0  
8  4:22:29 PM  SUCCESS  
9  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_BAUD_RATE  Serial0  Rate: 9600
9  4:22:29 PM  SUCCESS  
10  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_CLR_RTS  Serial0  
10  4:22:29 PM  SUCCESS  
11  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_CLR_DTR  Serial0  
11  4:22:29 PM  SUCCESS  
12  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_LINE_CONTROL  Serial0  StopBits: 1 Parity: NONE WordLength: 5
12  4:22:29 PM  SUCCESS  
13  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_CHAR  Serial0  EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13
13  4:22:29 PM  SUCCESS  
14  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_HANDFLOW  Serial0  Shake:0 Replace:0 XonLimit:2048 XoffLimit:512
14  4:22:29 PM  SUCCESS  
15  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_LSRMST_INSERT  Serial0  Char: ffffffff
15  4:22:29 PM  SUCCESS  
16  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_QUEUE_SIZE  Serial0  InSize: 8192 OutSize: 100
16  4:22:29 PM  SUCCESS  
17  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_TIMEOUTS  Serial0  
17  4:22:29 PM  SUCCESS  
18  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_TIMEOUTS  Serial0  RI:-1 RM:0 RC:0 WM:0 WC:0
18  4:22:29 PM  SUCCESS  
19  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_DTR  Serial0  
19  4:22:29 PM  SUCCESS  
20  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_RTS  Serial0  
20  4:22:29 PM  SUCCESS  
21  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_LINE_CONTROL  Serial0  
21  4:22:29 PM  SUCCESS  
22  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_LINE_CONTROL  Serial0  StopBits: 1 Parity: NONE WordLength: 8
22  4:22:29 PM  SUCCESS  
23  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_LINE_CONTROL  Serial0  
23  4:22:29 PM  SUCCESS  
24  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_LINE_CONTROL  Serial0  StopBits: ERROR Parity: NONE WordLength: 8
24  4:22:29 PM  SUCCESS  
25  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_GET_LINE_CONTROL  Serial0  
25  4:22:29 PM  SUCCESS  
26  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_LINE_CONTROL  Serial0  StopBits: ERROR Parity: EVEN WordLength: 8
26  4:22:29 PM  SUCCESS  
27  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_BAUD_RATE  Serial0  Rate: 9600
27  4:22:29 PM  SUCCESS  
28  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_SET_WAIT_MASK  Serial0  Mask: RXCHAR CTS DSR RLSD ERR RING 
28  4:22:29 PM  SUCCESS  
29  4:22:29 PM  ntvdm.exe  IOCTL_SERIAL_WAIT_ON_MASK  Serial0 

来自python应用程序的请求-响应转储:

^{pr2}$

Tags: 应用程序getratelineserialexecontrolsuccess