Небольшой пример использования pyserial с использованием ThreadingPython

Программы на Python
Anonymous
Небольшой пример использования pyserial с использованием Threading

Сообщение Anonymous »

Кто-нибудь может дать мне небольшой и простой пример того, как использовать многопоточность с Pyserial-коммуникацией.
Я гуглил более трех дней, но я все еще неграмотен, и у меня даже нет работающего фрагмента кода, который интегрировал бы их оба.

По сути, я стремлюсь использовать многопоточность в этом сценарии:

Для достижения определенной ценности необходимо обеспечить постоянную последовательную связь в фоновом режиме. (скажем, A) из MCU.

Перестаньте достигать значения A - затем достигните значения B... и снова начните непрерывно достигать значения A.

Здесь вы можете найти базовый код.

import threading
import time
import sys
import serial
import os
import time

def Task1(ser):

while 1:

print "Inside Thread 1"
ser.write('\x5A\x03\x02\x02\x02\x09') # Byte ArrayTo Control a MicroProcessing Unit
b = ser.read(7)
print b.encode('hex')
print "Thread 1 still going on"
time.sleep(1)

def Task2(ser):

print "Inside Thread 2"
print "I stopped Task 1 to start and execute Thread 2"
ser.write('x5A\x03\x02\x08\x02\x0F')
c = ser.read(7)
print c.encode('hex')
print "Thread 2 complete"

def Main():
ser = serial.Serial(3, 11520)
t1 = threading.Thread(target = Task1, args=[ser])
t2 = threading.Thread(target = Task2, args=[ser])
print "Starting Thread 1"
t1.start()
print "Starting Thread 2"
t2.start()

print "=== exiting ==="

ser.close()

if __name__ == '__main__':

Main()


Подробнее здесь: https://stackoverflow.com/questions/391 ... -threading

Вернуться в «Python»