|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.08.2016, 16:13 | #1 |
Пользователь
Регистрация: 07.06.2016
Сообщений: 52
|
Serial uart
работаю я с процом на котором в прошивке для теста всё выглядить вот так UART_write("recive accept");
тоесть проц на уарт порт постоянно шлёт строку мне нужно напитоне словить её, а мне постоянно приходит None Код:
Код:
|
03.08.2016, 21:45 | #2 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
Я себе писал простенький скрипт для общения с Arduino.
Вылаживаю как есть. Но только это под Linux-RuleZz. Если ты под виндами, то подправить порты и пакеты. Так как не все пакеты есть по все патформы. PHP код:
Или PHP код:
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
Последний раз редактировалось pompiduskus; 03.08.2016 в 21:47. |
03.08.2016, 23:16 | #3 | |
Пользователь
Регистрация: 07.06.2016
Сообщений: 52
|
Цитата:
выяснилось что проблема в обработке очереди serial = serial.Serial( port='COM8',\ baudrate=9600,\ parity=serial.PARITY_NONE,\ stopbits=serial.STOPBITS_ONE,\ bytesize=serial.EIGHTBITS,\ timeout=0) и пользуюсь встроенным протоколом но мне нужны свои read write с очередью помогите исправить пожалуйста |
|
04.08.2016, 09:55 | #4 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
Вообще я заметил, что если ставить timeout=0 то комуникация начинает странно себя вести !
А что на счет очереди ? Что именно нужно, какая цель ?
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
04.08.2016, 17:14 | #5 | |
Пользователь
Регистрация: 07.06.2016
Сообщений: 52
|
Цитата:
1ый элемент очереди: 123 2ой элемент очереди: 456 3ий элемент очереди: 789 при вызове на питоне serial.read() у меня читался первый элемент в очереди остальные остаются, потом еще при вызове serial.read() читался следующий и тд |
|
04.08.2016, 19:54 | #6 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
Понял, нужно что-то вроде Stack();
Можно так решить, Сериал постоянно прослушивается, и если есть инфа, он ее читает и скидывает в массив. А там где тебе нужна эта инфа, ты берешь елемент, первый или последний. Смотря какой тебе нужен, и удаляешь его. Получится как-бы 2 независимы штуки, и один массив для обменя межну ними. Только тут нужно быть аккуратно, так как если удалять елемент масива из одного Thread в то время как идет запись в массив с другого, сам понимаешь что можеть быть.
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Serial в Delphi 7 | Golden_RUS | Общие вопросы Delphi | 4 | 21.03.2013 08:51 |
Чтение UART через read | dfyz.s | Общие вопросы C/C++ | 2 | 15.11.2012 10:14 |
c# serial port | Mihhhhh | Помощь студентам | 0 | 15.05.2012 18:50 |
USB-to-Serial Com-порт | gozzt | Компоненты Delphi | 0 | 13.05.2009 21:08 |
Serial Key | L.Morgan | Общие вопросы Delphi | 8 | 14.04.2009 18:05 |