airnbrew
Июнь 7, 2023 23:34:29
Делаю прошивку для устройства, устройств много, железо менять не выйдет. Нужно отлаживать.
Большого индикатора нет, есть пара светодиодов. С одного из них вывел сигнал в СОМ порт.
Прошивка по размеру в упор, HEX2BCD и любое текстовое форматирование не влазит. Прошивка выдаёт в порт подряд два байта с интервалом в полсекунды. Все умные вещи нужно делать на компе.
Как правильно получить эти два байта и по времени разобраться, какие в паре первый и второй?
Опрос порта в цикле с интервалом в 0,1 с сбоит по-чёрному.
В питоне я третий день. Прикольно ))
py.user.next
Июнь 8, 2023 02:53:07
А ты не можешь в самих байтах передавать эту информацию? Кто первый, кто второй. А может, вообще какой-то третий байт нужен, типа контрольный.
airnbrew
Прошивка выдаёт в порт подряд два байта с интервалом в полсекунды.
А если она просбоит и передаст с интервалом в 0.4 секунды или в 0.6 секунды?
airnbrew
Июнь 8, 2023 13:57:53
CRC бы посчитал… Думать надо. На устройстве простой сдвиг сделать легче всего.
Запросто. На 9600 время между байтами явно меньше. В технике много больше/мньше - различия на десятичный порядок.
py.user.next
Июнь 9, 2023 00:55:57
Ну, чаще всего устройства с помощью питона обрабатываются так, что либо там в самой информации всё понятно, либо там какой-то признак конца добавлен к информации. А вот эта скорость туда-сюда - это всё туфта. Как минимум, программа там до машинных кодов должна быть скомпилирована, чтобы время не путать. А это языки типа C, C++, Assembly и подобных.
xam1816
Июнь 9, 2023 09:08:13
airnbrew
Как правильно получить эти два байта
У меня вопрос, по какому протоколу передаются данные?