реклама на сайте
подробности

 
 
> Как организовать передачу данных?, Передача по UART двух 16 битных чисел
LeDima
сообщение May 14 2015, 13:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 7-11-10
Из: Киев
Пользователь №: 60 702



Есть 1 передатчик 1 приемник нужно передавать 2 16-битных числа(значащих 12бит) т.е. 4 байта.
Как наиболее оптимально с вашей точки зрения организовать передачу так что бы данные корректно воспринимались приемником при периодически пропадающей связи?

Мои варианты:
1 Вести временные задержки между пакетами и/или байтами и/или словами..
2 Ввести идентификатор в каждый байт за счет не значащих бит.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
LeDima
сообщение May 15 2015, 06:18
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 7-11-10
Из: Киев
Пользователь №: 60 702



Я как раз и спрашиваю что бы велосипед не изобретать)

1 Modbus-RTU подразумевает двусторонний обмен тут же обмен односторонний строго от передатчика к приемнику.

2 Манчестер это что ?

Дополню: по сути передатчик это датчик 2 токов который постоянно меряет и постоянно передаёт, канал обмена оптоволоконный на стороне передатчика светодиод. При передаче основные проблемы перезагрузка датчика т.е. временный обрыв связи ну или полное пропадание связи.

Сообщение отредактировал LeDima - May 15 2015, 06:25
Go to the top of the page
 
+Quote Post
SSerge
сообщение May 15 2015, 08:23
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(LeDima @ May 15 2015, 13:18) *
Дополню: по сути передатчик это датчик 2 токов который постоянно меряет и постоянно передаёт, канал обмена оптоволоконный на стороне передатчика светодиод. При передаче основные проблемы перезагрузка датчика т.е. временный обрыв связи ну или полное пропадание связи.

Я в таких случаях просто выводил текст а ascii.
printf("%d\t%d\r\n", x1, x2);
Числа разделяются символом табуляции, в конце строки CR и LF.
Всё это ловится терминалом и пишется в лог.
Можно глазами посмотреть, можно зачитать в excel для обработки и рисования графиков.
Своей программой тоже не сложно ловить - читаем строку, обрабатываем.
Для борьбы с обрывами связи можно либо выдавать из устройства время (или просто порядковый номер) либо в терминале настроить добавление в лог меток времени (Br@y Terminal это умеет).


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 15:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01369 секунд с 7
ELECTRONIX ©2004-2016