Народ! есть такая проблема:
Озадачили меня учетом топлива, только отдавать данные надо по сабжу.
из описаловы дали следующее:
Формат передаваемых данных:
1 старт-бит
8 бит данных
контроля четности нет
1 стоп-бит
скорость - 9600 бод.
Для считывания данных из датчика необходимо сформировать следующую посылку:
(все передаваемые и принимаемые байты в HEX виде)
запрос на датчик : 05 10 0A 0F D2
(если в ответ от ДРТ ничего не придёт в течении 50мс то запрос необходимо повторить (до 3-х раз))
ответ от ДРТ: 15 0A 10 00 ED 28 00 00 00 00 D0 07 60 EA 00 00 60 EA 00 00 51
(обычно приходит через 2-3мс после окончания запроса).
где: (последовательный разбор полей)
0A 10 стандартный ответ от ДРТ с адресом 10
00 флаг состояния датчика
ED 28 00 00 4-х байтовый счётчик прошедшего через датчик
топлива в миллилитрах (первый байт - младший);
00 00 скорость расхода топлива л/час (до десятых -
15 = 31.5 л/ч) (первый байт - младший);
d0 07 не используется
60 EA 00 00 не используется;
60 EA 00 00 не используется;
e7 контрольная сумма (сумма всех байт с инверсией знака (перенос отбрасывается)).
Кто-нибудь обьяснит доступным языком, как организовать данный протокол?? проблема состоит больше в приеме данных\организации буфера\разборе запроса.
MAX485 у меня подключен к стандартному UARTу,по входу Т1 считаю импульсы, перевожу в литры и литры в час, а вот с пртоколом обмена не клеится никак.....




