为什么pyserial无法在Linux上写?

时间:2019-07-10 13:46:31

标签: python arduino pyserial

我已经为Windows编写了一个可以正常工作的简单脚本,并且已经将其改编为Linux(Ubuntu)。问题在于它不读取发送的字节。

我根据Arduino IDE尝试了所有可用的不同串行端口,但问题仍然存在。我也使用\ n和\ r没有成功并且编码不同。

在win10上运行的代码:

import serial
import time
import keyboard
arduino = serial.Serial('COM4', 9600, timeout=0)

while True:
  arduino.write('a'.encode())    
  time.sleep(0.1)
  print(arduino.readline())

代码在Ubuntu上不起作用

import serial, time
arduino = serial.Serial('/dev/ttyAMC0', 9600, timeout = 0)
while True:
  arduino.write('a'.encode())    
  time.sleep(0.1)
  print(arduino.readline())

因此,第一个脚本连续打印a\r\n,第二个则不打印。简单地连续显示b''。所以我认为这不只是写信。

1 个答案:

答案 0 :(得分:0)

已解决。不知道到底是什么问题,但一直在发送大写字母。