Синхронное использование полнодуплексного последовательного порта с ASIO (или другими библиотеками) ⇐ C++
Синхронное использование полнодуплексного последовательного порта с ASIO (или другими библиотеками)
Я работаю над проектом, в котором мне нужно связаться с устройством через последовательный порт. Я подумывал об использовании библиотеки ASIO для обеспечения связи, но у меня есть несколько вопросов:
[*]Является ли последовательный порт полнодуплексным? Могу ли я без проблем читать и писать в этот порт одновременно? [*]Если я использую ASIO, могу ли я выполнять синхронное чтение и запись одного и того же объекта asio::serial_port из двух разных потоков без использования мьютекса? В частности, я хочу, чтобы одна ветка была посвящена чтению, а другая — письму. Важно отметить, что только один поток будет писать, а другой — читать, поэтому невозможно иметь несколько операций чтения или записи, но чтение и запись одновременно должны быть возможны. [*]Если ASIO — не лучший выбор для этого, есть ли другие библиотеки, которые вы бы порекомендовали для синхронной связи через последовательный порт на C++?
Теперь я защищаю asio::serial_port с помощью мьютекса, поэтому может произойти только одно чтение или запись. Я использую ASIO синхронно.
Я работаю над проектом, в котором мне нужно связаться с устройством через последовательный порт. Я подумывал об использовании библиотеки ASIO для обеспечения связи, но у меня есть несколько вопросов:
[*]Является ли последовательный порт полнодуплексным? Могу ли я без проблем читать и писать в этот порт одновременно? [*]Если я использую ASIO, могу ли я выполнять синхронное чтение и запись одного и того же объекта asio::serial_port из двух разных потоков без использования мьютекса? В частности, я хочу, чтобы одна ветка была посвящена чтению, а другая — письму. Важно отметить, что только один поток будет писать, а другой — читать, поэтому невозможно иметь несколько операций чтения или записи, но чтение и запись одновременно должны быть возможны. [*]Если ASIO — не лучший выбор для этого, есть ли другие библиотеки, которые вы бы порекомендовали для синхронной связи через последовательный порт на C++?
Теперь я защищаю asio::serial_port с помощью мьютекса, поэтому может произойти только одно чтение или запись. Я использую ASIO синхронно.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение