![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 26.04.2007
Сообщений: 3
|
![]()
Приветствую всех!
Захотелось мне тут написать программу для работы с автомобильным блоком ("автоподсос" для карбюратора), который работает через COM. Пообщался я с разработчиком сего девайса, и объяснил он мне протокол. Но на одном из моментов возникла у меня проблема и полное непонимание. В общем суть такова: Блок передаёт данные в HEX, при расшифровке я получаю строку в которой есть параметр: 07 И вот тут начинается. Оказывается нужно перевести это число в двоичную систему, и через какое-то сравнение (я так и не понял какое) определить какие провода подключены (в данном параметре "зашифрованы" эти данные). Пример мне разработчик дал вот какие: Код:
Код:
Что вообще нужно сделать? Я вообще не пойму ничего. Всем спасибо за внимание, и надеюсь на понимание ![]() Последний раз редактировалось AngelBOY; 04.12.2011 в 22:24. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> нужно перевести это число в двоичную систему
не нужно, числа и так в двоичной системе хранятся. > Что здесь и как происходит? Код:
освоить двоичную систему исчисления и битовые операции. Этого должно хватить.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#3 | |
Регистрация: 26.04.2007
Сообщений: 3
|
![]()
Спасибо огромное за код, относительно масок мне тоже уже немного объяснили.
Цитата:
----- И кстати, код в таком виде будит нормально работать? Код:
И каким образом сей код можно проверить? Просто не охота блок носить к машине и проверять. Последний раз редактировалось AngelBOY; 05.12.2011 в 01:02. Причина: Добавил вопрос |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
Википедии должно хватить, это совсем базовые понятия.
> строку (out_bits) всё-таки нужно приводить к какому-то другому типу не зная, что у вас в строке хранится, трудно что-то ответить. Если в строке число не превышающее диапазон Integer, то StrToInt() должно хватить. Но, судя по С-шному коду из первого сообщения, там просто поток бит. BoolToStr() вобще не понятно зачем, чтобы на экране показывать? > StrToInt(out_bits) and $2)) //ebn ebn вроде в третьем бите было ($4), почему тут $2? > каким образом сей код можно проверить? Я бы советовал сделать так: 1) считать реальные байты из СОМ порта. Ну или пусть разработчик даст вам набор байт, которые вы получите от девайса на основе его протокола. 2) Записать эти данные в файл. 3) Работать с данными из файла так, как будто вы их только что получили из СОМ порта. 4) Проверить, что ваша прога выдаёт то, что ожидаось. 5) Проверить то же самое с реальными данными, полученными в этот раз из СОМ. Иначе проще машину пригнать к вашему компу, меньше беготни будет )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#5 | ||||||
Регистрация: 26.04.2007
Сообщений: 3
|
![]() Цитата:
Цитата:
(компонент выдаёт не сразу весь пакет, а "по чуть-чуть"). Хотя можно и потоком бит (bin) принимать, но всё-равно потом в string переносить. Цитата:
А точнее для передачи дальше данных программе на вывод данных из потока. Цитата:
Но дело собственно вот в чём, мне автор написал: Цитата:
Автор писал что для нулевого байта маска - 1 (0b00000001), а для 2го - 4 (0b00000100). Нужно будит уточнить относительно остальных наверно, ну или самому разобраться. Цитата:
Блок при подключении к USB сам шлёт постоянно данные (каждую секунду). Я хотел именно работу с этими битами проверить. В любом случае большое спасибо за информацию и помощь. |
||||||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
в двоичной системе | незнайка_на_земле | Помощь студентам | 22 | 23.02.2011 08:15 |
вывод числа в двоичной системе | jewels | Общие вопросы C/C++ | 12 | 11.03.2010 22:20 |
Сложение в двоичной системе счисления | Volchara | Общие вопросы C/C++ | 2 | 23.04.2009 19:54 |
работа в двоичной системе | Toten | Помощь студентам | 3 | 06.03.2009 16:35 |
Деление чисел в двоичной системе счисления | Mss_Smith | Помощь студентам | 9 | 04.05.2007 17:02 |