Можно повторить такой сигнал? (Нужна помощь)

Oleg_balt
Offline
Зарегистрирован: 07.06.2015

Как повторить такой сигнал,  73.07ms длина посылки с паузой, пауза между посылками 21.36 ms. 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Oleg_balt, а вы заметили, что длительность лог.1 у вас на картинке в двух вариантах? Нужно измерить  длительность широкой единицы, , длительность узкой, и длительность ноля. Ну а потом организовывать циклы, и с помощью delayMicroseconds повторить все тайминги.

Oleg_balt
Offline
Зарегистрирован: 07.06.2015

Oleg_balt пишет:

Как повторить такой сигнал,  73.07ms длина посылки с паузой, пауза между посылками 21.36 ms. 

Минимальная длина сигнала 0.4032 ms

Oleg_balt
Offline
Зарегистрирован: 07.06.2015

Да я вот, что то не догоняю как построен этот пакет (( этот сигнал не совпадает с 8 бит сигналом 

 

Oleg_balt
Offline
Зарегистрирован: 07.06.2015

Широкий импульс 0.8054 ms и еще момент перед первым коротким импульсом пауза 0.8123ms

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

11001100110011001100110011001100110011001100110011001100110011001011001100110010101011001011001011001100110010101011001100110011

1 и 0 по 400 мкс., перед посылкой запретить прерывания. (достаточно остановить таймер 0).

Можно иначе:

1111111111111111011100010101110001111, где 1 это периуд 800 хай и 800 лоу, а 0 - 400 хай и 400 лоу. Просто ЧМ сигнал.

Пользуйтесь. можете сделать 402 мкс, это, честно вам скажу - на приемник не повлияет.

(я же просил 400 капель валерьянки, а тут 402! (с) Громозека ;) )

Oleg_balt
Offline
Зарегистрирован: 07.06.2015

Короче длина бита 0.400 ms? А как сделать к примеру задать длину 0 или 1 0.400 мкс а потом просто написать посылку 101010.......    и он выдает на выходе вывода.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

мне ЧМ вариант больше нравится, но это только вопрос наименования... это ведь радиокод или ИК код, так? 

Делайте 400... если я правильно угадал назначение, то достаточно больше 300 мкс... пробуйте.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

вам Дима уже написал - функция dekayMicroseconds();

///

Сорри, но на горшке Вам друзья помогают сраку подтирать?

Oleg_balt
Offline
Зарегистрирован: 07.06.2015

wdrakula пишет:

мне ЧМ вариант больше нравится, но это только вопрос наименования... это ведь радиокод или ИК код, так? 

Делайте 400... если я правильно угадал назначение, то достаточно больше 300 мкс... пробуйте.

Да вы правы, это в радиопульте сгорел контроллер, сигнал я считал с другого работающего и решил тупо повторить. 

Oleg_balt
Offline
Зарегистрирован: 07.06.2015

спасибо за подсказку, не особо силен в программировании, буду эксперементировать   

Oleg_balt
Offline
Зарегистрирован: 07.06.2015

Да, получилось но программа выглядит по детски (( тупо сигнал 1 задержка потом 0 задержка, как бы сделать красиво .

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Oleg_balt пишет:

Да, получилось но программа выглядит по детски (( тупо сигнал 1 задержка потом 0 задержка, как бы сделать красиво .

Что бы "сделать красиво" Вам нужно 2 вещи: массив и цикл.

Oleg_balt
Offline
Зарегистрирован: 07.06.2015

Это случаем не манчестерский код используется?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Oleg_balt пишет:

Это случаем не манчестерский код используется?

да, но не стоит засирать ТС голову терминологией.

Он уже решил задачу, как заявил выше. Какой бы ни был его код, не стоит мешать коду работать.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Oleg_balt пишет:

Да, получилось но программа выглядит по детски (( тупо сигнал 1 задержка потом 0 задержка, как бы сделать красиво .

А зачем? Лучшее враг хорошего!!!