crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Асинхронная работа с com-портом
Гость_Тестовтест_*
сообщение 9.8.2017, 12:44
Сообщение #1





Гости








    


Привет всем.
приспичило работать с 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 вызывается волшебным образом сам, чуть голову не сломал.
Как это все перевести в функциональное программирование или как можно отправлять ему свои команды и считывать их выполнение?
Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.12.2017, 21:36