Pyserial пишет на Ubuntu, но не Mac - PullRequest
0 голосов
/ 26 марта 2019

В виртуальной среде с python версии 3.5.2 и pyserial версии 3.4 я не могу записать 10 байтов. Я нюхаю шину с помощью логического анализатора Salae. Тот же код и оборудование работают на виртуальной машине Ubuntu 16, но НЕ на хосте Mac напрямую.

UART_DEVICE = '/dev/ttyUSB0' # '/dev/tty.usbserial-DN04ARYR'

class MyClass():

     def __init__(self, port, baudrate=9600, timeout=0.5):
         self._serial = serial.Serial()
         self._serial.port = port
         self._serial.baudrate = baudrate
         self._serial.timeout = timeout
         self._serial.open()

     def __del__(self):
         self._serial.close()

     def send_test_packet(self):
         packet = bytearray([0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A])
         print('About to write {}'.format(packet.hex()))
         #num_bytes_written = os.write(self._serial.fd, packet)
         num_bytes_written = self._serial.write(packet)
         print("sent {} bytes".format(num_bytes_written))

mc = MyClass(UART_DEVICE)
mc.send_dummy_packet()

Python и pyserial версия:

$ python --version
Python 3.5.2

$ pip freeze
pyserial==3.4

Версия MacOS: 10.14.3

...