crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Асинхронная работа с com-портом
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Тестовтест Дата 9.8.2017, 12:44
  Привет всем.
приспичило работать с com-портом в асинхронном режиме. Взял библиотеки asyncio, serial_asyncio и ничего не получается. В примере сказано:
class Output(asyncio.Protocol):
    def connection_made(self, transport):
        self.transport = transport
        print('port opened', transport)
        transport.serial.rts = False
        transport.write(b'hello world\n')

    def data_received(self, data):
        print('data received', repr(data))
        self.transport.close()

    def connection_lost(self, exc):
        print('port closed')
        asyncio.get_event_loop().stop()

loop = asyncio.get_event_loop()
coro = serial.aio.create_serial_connection(loop, Output, '/dev/ttyUSB0', baudrate=115200)
loop.run_until_complete(coro)
loop.run_forever()
loop.close()


я пока додумался, что connection_made вызывается волшебным образом сам, чуть голову не сломал.
Как это все перевести в функциональное программирование или как можно отправлять ему свои команды и считывать их выполнение?
Спасибо.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 24.4.2018, 13:31