Прием данных по UART

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 277
Имя: Владимир

Прием данных по UART

#21

Сообщение rw6cm » 13.07.2017{, 09:46}

stapmoff писал(а):Всему виной была вот эта строчкаfor (n = 0; n <= 7; n++) // рассчитываем crc8
тут была 8
Быстрей всего так for (n = 0; n < 8; n++), это тоже самое
Win10-64, FLProg (portable)

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

Прием данных по UART

#22

Сообщение stapmoff » 13.07.2017{, 12:42}

rw6cm писал(а):У вас есть пакет который должен проходить, (правильный)?
Да

Добавлено (13.07.2017, 12:42)
---------------------------------------------
Только что написали их компании кто придумал этот протокол. Подтвердили что не правильно считается контрольная сумма, но а как тогда при приеме запроса мой слэйф правильно читает сумму, вот загадка
Вложения
_LLS.doc
(33 КБ) 48 скачиваний
Последний раз редактировалось stapmoff 13.07.2017{, 12:43}, всего редактировалось 1 раз.

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

Прием данных по UART

#23

Сообщение stapmoff » 13.07.2017{, 12:52}

Вот правильные пакеты

блин повторно скинул

Добавлено (13.07.2017, 12:52)
---------------------------------------------
Странно, сейчас принудительно вписал ему правильную контрольную сумму и все равно мастер не видит. Или так не прокатит))
Вложения
2410374.doc
(33 КБ) 54 скачивания
Последний раз редактировалось stapmoff 13.07.2017{, 12:45}, всего редактировалось 1 раз.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 277
Имя: Владимир

Прием данных по UART

#24

Сообщение rw6cm » 14.07.2017{, 06:20}

stapmoff писал(а):Вот правильные пакеты
Все верно, это алгоритм
CRC-8/MAXIM
Нужен правильный сдвиг регистров, из его данных:
Check = 0xA1,    Poly = 0x31,  Init = 0x00,   RefIn = true,   RefOut = true,   XorOut = 0x00.
Честно сказать для меня пока это "вынос мозга" (на понимание трачу уйму времени)
Думаю нужна "подсказка зала" или "звонок другу" ))
Последний раз редактировалось rw6cm 14.07.2017{, 06:21}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

Прием данных по UART

#25

Сообщение stapmoff » 14.07.2017{, 07:31}

rw6cm писал(а):Все верно, это алгоритмCRC-8/MAXIM
Да, так точно именно он.

Добавлено (14.07.2017, 07:31)
---------------------------------------------
Добился правильного расчета суммы, ошибка была в расстановке байт. Поменял местами и вуаля, но все равно мастер не видит слэйф))))    
Последний раз редактировалось stapmoff 14.07.2017{, 07:31}, всего редактировалось 1 раз.

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

Прием данных по UART

#26

Сообщение stapmoff » 14.07.2017{, 07:31}

Вот проэкт

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

Прием данных по UART

#27

Сообщение stapmoff » 14.07.2017{, 07:44}

Может теперь дело в интервалах передачи?
Вложения
1121586.doc
(33 КБ) 53 скачивания

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Прием данных по UART

#28

Сообщение Dev1 » 14.07.2017{, 08:14}

Win7-64 FLProg v7.2.2 Portable :fie:

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 277
Имя: Владимир

Прием данных по UART

#29

Сообщение rw6cm » 14.07.2017{, 09:31}

Dev1 писал(а):Описание протокола обмена
какая хорошая инфа, почему бы ее в начале темы не выложить, кучу время экономили бы ))
Dev1 писал(а):Может теперь дело в интервалах передачи?
Похоже здесь с типом данных не увязка.  byte -> hex -> string
Понимает ли он,
может все это одним блоком с одним типом, чтоб не путаться.
В символьном режиме, по описанию, вообще по другому все.
Последний раз редактировалось rw6cm 14.07.2017{, 09:45}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Прием данных по UART

#30

Сообщение pan » 14.07.2017{, 09:36}

rw6cm писал(а):Похоже здесь с типом данных не увязка.
поддерживаю. я тож самое писал

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Прием данных по UART

#31

Сообщение Dev1 » 14.07.2017{, 09:44}

rw6cm писал(а):какая хорошая инфа, почему бы ее в начале темы не выложить, кучу время экономили бы ))
Это к автору, описать протокол нужно было с самого начала  
rw6cm писал(а):Цитата Dev1 ()Может теперь дело в интервалах передачи?
Не я писал 
Win7-64 FLProg v7.2.2 Portable :fie:

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

Прием данных по UART

#32

Сообщение stapmoff » 14.07.2017{, 10:30}

В символьном режиме работать не будет, так как мастер шлет команду 06h, а это значит однократная выдача данных в hex. Я тоже подумываю о том, что посылка скорее всего должна быть разбита по байтно, а не строкой. Только вот как это сделать пока ума не приложу?

Добавлено (14.07.2017, 10:21)
---------------------------------------------
Может сделать у блока 9 выходов типа байт? Или лучше саму отправку в юарт сделать в самом блоке?

Добавлено (14.07.2017, 10:30)
---------------------------------------------
Ну короче узнал я у разработчиков протокола. Сказали отправка должна быть по байтно.

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Прием данных по UART

#33

Сообщение Dev1 » 14.07.2017{, 10:32}

Описание протокола обменаПротокол поддерживает два типа протокола обмена: в бинарном (HEX) виде и в символьном виде
(передачей ASCII-последовательностей). Для работы рекомендуется использовать бинарный
протокол обмена.
После подачи питания на датчик уровня топлива Omnicomm LLS и перед подачей первой команды
запроса необходимо выждать время не менее 100 мс.
При работе с датчиками Omnicomm LLS, находящимися в режиме slave, после отправки команды
запроса необходимо дождаться ответа от датчика. Время задержки ответа зависит от скорости
обмена и типа протокола обмена (не более 100 мс).
Данные, между датчиком и внешним устройством передаются в виде сообщений, передающихся
пакетами байт. Передача каждого байта начинается СТАРТ битом, а завершается СТОП
битом (Рисунок 1). Данные передаются младшим байтом вперёд.
Интервал между последующими байтами в пакете (Тт) должен быть меньше длительности
передачи 35 бит или меньше 1 мс (если 35/скорость<1 мс).
Тбайт – время передачи одного байта информации;
Тт – интервал между последовательными байтами в пакете.
Окончанием пакета байт считается, если последующий байт не приходит в течение времени (Тп),
превышающего максимальный интервал (Тт) + 1 мс.
Win7-64 FLProg v7.2.2 Portable :fie:

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

Прием данных по UART

#34

Сообщение stapmoff » 14.07.2017{, 10:38}

Dev1, да это читал 1000 раз

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 277
Имя: Владимир

Прием данных по UART

#35

Сообщение rw6cm » 14.07.2017{, 10:49}

Dev1 писал(а):Не я писал
Это укоз кривой, который раз замечаю, цитирую одного а ник лепит другого ))
stapmoff писал(а):Или лучше саму отправку в юарт сделать в самом блоке?
Думаю наилучший вариант.
Win10-64, FLProg (portable)

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

Прием данных по UART

#36

Сообщение stapmoff » 14.07.2017{, 14:55}

rw6cm, поможете реализовать?

Добавлено (14.07.2017, 14:55)
---------------------------------------------
Заработало        УРА! Дело еще было в мах485, вернее перепутал пины на разрешение приема и передачи. Всем спасибо за подсказки, всего вам доброго!

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 277
Имя: Владимир

Прием данных по UART

#37

Сообщение rw6cm » 14.07.2017{, 14:56}

Последний раз редактировалось rw6cm 14.07.2017{, 15:04}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Прием данных по UART

#38

Сообщение pan » 14.07.2017{, 14:59}

Последний раз редактировалось pan 14.07.2017{, 15:01}, всего редактировалось 1 раз.

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

Прием данных по UART

#39

Сообщение stapmoff » 14.07.2017{, 20:18}

Как понимать ваш смайл?

Добавлено (14.07.2017, 20:18)
---------------------------------------------
pan, А?

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Прием данных по UART

#40

Сообщение pan » 14.07.2017{, 20:21}

вы столько промучились а дело было в железе.

Ответить

Вернуться в «UART»