Форум сайта python.su
Делаю прошивку для устройства, устройств много, железо менять не выйдет. Нужно отлаживать.
Большого индикатора нет, есть пара светодиодов. С одного из них вывел сигнал в СОМ порт.
Прошивка по размеру в упор, HEX2BCD и любое текстовое форматирование не влазит. Прошивка выдаёт в порт подряд два байта с интервалом в полсекунды. Все умные вещи нужно делать на компе.
Как правильно получить эти два байта и по времени разобраться, какие в паре первый и второй?
Опрос порта в цикле с интервалом в 0,1 с сбоит по-чёрному.
В питоне я третий день. Прикольно ))
Офлайн
А ты не можешь в самих байтах передавать эту информацию? Кто первый, кто второй. А может, вообще какой-то третий байт нужен, типа контрольный.
airnbrewА если она просбоит и передаст с интервалом в 0.4 секунды или в 0.6 секунды?
Прошивка выдаёт в порт подряд два байта с интервалом в полсекунды.
Офлайн
CRC бы посчитал… Думать надо. На устройстве простой сдвиг сделать легче всего.
Запросто. На 9600 время между байтами явно меньше. В технике много больше/мньше - различия на десятичный порядок.
Офлайн
Ну, чаще всего устройства с помощью питона обрабатываются так, что либо там в самой информации всё понятно, либо там какой-то признак конца добавлен к информации. А вот эта скорость туда-сюда - это всё туфта. Как минимум, программа там до машинных кодов должна быть скомпилирована, чтобы время не путать. А это языки типа C, C++, Assembly и подобных.
Отредактировано py.user.next (Июнь 9, 2023 00:57:54)
Офлайн
airnbrewУ меня вопрос, по какому протоколу передаются данные?
Как правильно получить эти два байта
Офлайн