我在将 USB 串行端口连接到 Windows 并尝试从该端口获取数据到 WSL2 时遇到问题。
问题是我可以在 Windows powershell 中列出 USB 设备
PS C:\> usbipd list
结果:
BUSID VID:PID DEVICE STATE
6-4 0403:6001 USB Serial Converter Attached
我可以使用以下方式将 USB 连接到 WSL:
PS C:\> usbipd attach --wsl --busid 6-4
它附加到 WSL。
lsusb
在 WSL 中显示 USB 连接,给出:查看设备名称:
sudo dmesg | grep tty
给出了这个:
import serial
import time
import time
import os
ser = serial.Serial('/dev/ttyUSB0') # device name on your computer
print(ser.name) # check which port was really used
ser.write(b'serail port on wsl \n') # write a string
s = ser.readline()
print(s)
ser.close()
这段代码无法写入也readline()
并且不给出任何输出,所以基本上它没有从串口读取任何数据。
serial.Serial("/dev/ttyUSB0", baudrate)
中将baudrate
定义为460800即可解决。