①protues中虚拟串口可以连接到PC的COM口
下图为虚拟串口的配置(连接PC的COM1口,波特率为9600)
②通过Configure Virtual Serial Port Driver软件将PC的COM1与COM2连接,如图COM1可以与COM2互发消息
③转换程序监控COM口数据(使用Python监控)
监控COM数据代码(COM2口):
#监控COM口数据
#双线程监听COM口收发数据
import threading
import time
import serial
import string
import binascii
s = serial.Serial("COM2", 9600, timeout=5)
def send():
while True:
print('send线程...')
while True:
n = s.inWaiting()
if n:
break
data = str(binascii.b2a_hex(s.read(n)))[2:-1] #读取COM口数据
print(data) #data为COM口数据
if __name__ == '__main__':
"""
ip = '127.0.0.1'
port = 5000
com = 'COM2'
baud = 9600
"""
print('请输入创建服务器的IP:')
ip = input()
print('请输入创建服务的端口:')
port = input()
port = int(port)
print('请输入串口号(例如:COM1):')
com = input()
baud = 9600
print(f'IP:{ip},Port:{port},COM:{com},波特率:9600(默认)n')
a = Server(ip,port,com,baud)
a.main()
①protues中虚拟串口可以连接到PC的COM口
下图为虚拟串口的配置(连接PC的COM1口,波特率为9600)
②通过Configure Virtual Serial Port Driver软件将PC的COM1与COM2连接,如图COM1可以与COM2互发消息
③转换程序监控COM口数据(使用Python监控)
监控COM数据代码(COM2口):
#监控COM口数据
#双线程监听COM口收发数据
import threading
import time
import serial
import string
import binascii
s = serial.Serial("COM2", 9600, timeout=5)
def send():
while True:
print('send线程...')
while True:
n = s.inWaiting()
if n:
break
data = str(binascii.b2a_hex(s.read(n)))[2:-1] #读取COM口数据
print(data) #data为COM口数据
if __name__ == '__main__':
"""
ip = '127.0.0.1'
port = 5000
com = 'COM2'
baud = 9600
"""
print('请输入创建服务器的IP:')
ip = input()
print('请输入创建服务的端口:')
port = input()
port = int(port)
print('请输入串口号(例如:COM1):')
com = input()
baud = 9600
print(f'IP:{ip},Port:{port},COM:{com},波特率:9600(默认)n')
a = Server(ip,port,com,baud)
a.main()