| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разное (электроника) > hart протокол |
| Автор: Bulat 3.9.2014, 10:10 |
| Возможно не совсем в тот раздел. Но все же... Есть харт модем, и утилита для работы с ней по харт протоколу. Пока полностью не могу освоить харт-протокол. Есть пример, мож кто поможет разобраться в нем на примере. Харт-команда из мануала: FF FF FF FF FF 02 80 00 00 82 ответ 0xFF 0xFF 0xFF 0xFF 0xFF 0x06 0x80 0x00 0x0E 0x00 0x10 0xFE 0x11 0x53 0x05 0x05 0x09 0x1E 0x20 0x00 0x13 0x23 0xAB 0x88 Разбирая саму команду на составные части FF FF FF FF FF - преамбула 02 - стартовый байт short frame(от мастера к слэйву, в ответе от слейва к мастеру 06 соответственно) 80 - поле адреса, так как short frame - 1 байт 00 - командный байт... и дальше у меня путаница... |
| Автор: Bulat 3.9.2014, 14:42 |
| up |
| Автор: baldman88 24.10.2014, 00:03 |
| Может пригодиться кому. В запросе: FF FF FF FF FF - преамбула 02 - стартовый байт short frame(от мастера к слэйву, в ответе от слейва к мастеру 06 соответственно) 80 - поле адреса, так как short frame - 1 байт 00 - командный байт 00 - длина передаваемых данных (нет данных) 82 - контрольная сумма (xor всех элементов от стартового байта до контрольной суммы, в данном случае это: 02 ^ 80 ^ 00 ^ 00 = 82) В ответе: FF FF FF FF FF - преамбула 06 - стартовый байт short frame 80 - поле адреса 00 - командный байт (что слейв сделал) 0Е - количество отдаваемых байт (в данном случае 14, из которых 2 первых это статус слейва, а следующие 12 - отдаваемые данные) 00 10 - статус слейва FE 11 53 05 05 09 1E 20 00 13 23 AB - отдаваемые данные 88 - контрольная сумма (тот же xor, в данном случе начиная с 06 и заканчивая АВ) |
| Автор: Кальцин5Андрей 26.4.2018, 08:42 |
| FF FF FF FF FF - преамбула 02 - стартовый байт short frame(от мастера к слэйву, в ответе от слейва к мастеру 06 соответственно) 80 - поле адреса, так как short frame - 1 байт 00 - командный байт 00 - длина передаваемых данных (нет данных) 82 - контрольная сумма (xor всех элементов от стартового байта до контрольной суммы, в данном случае это: 02 ^ 80 ^ 00 ^ 00 = 82) |