Для управления работой нескольких COM-портов одновременно, можно использовать многопоточность. Для этого нужно создать отдельный поток для каждого COM-порта, чтобы они могли работать параллельно. Каждый поток будет отвечать за отправку и прием данных через свой COM-порт.
Вот пример кода на Python, который демонстрирует работу с двумя COM-портами одновременно:
```python
import serial
import threading
def port1_thread():
ser1 = serial.Serial('COM1', 9600)
while True:
data = ser1.readline()
print("Port 1 received:", data)
def port2_thread():
ser2 = serial.Serial('COM2', 9600)
while True:
data = ser2.readline()
print("Port 2 received:", data)
if __name__ == "__main__":
thread1 = threading.Thread(target=port1_thread)
thread2 = threading.Thread(target=port2_thread)
thread1.start()
thread2.start()
```
Этот код создает два отдельных потока для работы с COM1 и COM2 портами. Каждый поток открывает соединение с соответствующим портом и ожидает приема данных. Полученные данные выводятся в консоль.
Можно модифицировать данный код, добавив функции для отправки данных через COM-порты и дополнительную логику обработки данных. При этом важно учитывать возможность конфликтов при работе с разными портами одновременно и обеспечить правильную синхронизацию и управление потоками.