olegue писал(а):В общих чертах, что такое протокол?
В общих чертах... слишком большое понятие... )) Протокол - это некое соглашение.
Конкретно протокол передачи данных — набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами -
https://ru.wikipedia.org/wiki/Протокол
NStorm писал(а):Банально функции написать для отправки бита и пакета... Таймеры освойте... попробуйте на _аппаратном_ ШИМ...
Какие ещё функции... ШИМ... и т.д.
Это я специально для
olegue написал, который ещё не до конца разобрался как вообще работает порт в МК.
olegue писал(а):это мой уровень - это 100% попадание.
NStorm писал(а):А вот принять сложнее будет. Надо будет выделить сигнал из мусора.
Вообще не проблема))
NStorm писал(а):А еще нужна какая-то последовательность, для отделения данных от мусора.
Не нужна. В радиоэфире нет мусора. В радиоэфире есть шум))
NStorm писал(а):Можно ИК-протокол какой-нибудь за основу взять.
Нельзя. Точнее можно, но будет работать через жопу.))
Ни один ИК-протокол не соответствует требованиям передачи по радиоканалу.
olegue писал(а):не могу дать профессиональную оценку как NStorm
Эта типа шутка такая ? )) Да, смешно))
olegue писал(а):получаю сигнал, измеряю длительность,
если длительность соответствует, запоминаю в переменную
получаю слещущий измеряю длительность....
Всё верно.
olegue писал(а):а потом сравниваю с тем, кодом который должен быть.
Не потом, а сразу. Потом поздно будет))
1-получаю сигнал, измеряю длительность импульса: Если длительность соответствует, прибавляю в переменную +1. Если не соответствует, записываем в переменную 0 и переходим к пункту 1. Начинаем всё с начала))
2-получаю сигнал, измеряю длительность импульса: Если длительность соответствует, прибавляю в переменную +1. Если не соответствует, записываем в переменную 0 и переходим к пункту 1. Начинаем всё с начала))
...
...
и т.д.
...
...
когда в переменной будет число равное количеству "правильных" импульсов, выполняем команду (включаем реле) записываем в переменную 0 и переходим к пункту 1. Начинаем всё с начала))
P.S. Программа работает в цикле. Анализирует каждый входящий импульс.
Типа поточный алгоритм -
https://ru.wikipedia.org/wiki/Поточный_алгоритм
Поправка)) В начале пакета нужна преамбула. Типа 101010101... Нафига ? А чтоб тинька сбросила переменную в 0 и перешла к пункту 1. В начало. А то ещё застрянет посередине цикла... и пропустит нужный пакет)) Ну или како-нибудь спец символ.
Только это не разделитель данных. У нас данных нет. Это составная часть пакета. Хотя нет. Это скорее заголовок пакета. Так будет правильней))
всё))
короче... мы расписали работу обычного цифрового радиомодуля)) ничего нового мы не изобрели))
