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

 
 
> RC5, алгоритм декодирования
vooon
сообщение Sep 29 2006, 19:32
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 27-06-06
Из: Msk
Пользователь №: 18 401



Решил разобраться сам как оно работает на простом проекте - "ИК выключатель освещения"

Сразу скажу огромное спасибо Леониду Ивановичу за прекрастную статью

Итак перый вопрос: почему (на сколько я понял) обычно ext_int ставят по фронту
и по первому перерыванию запускают таймер на пол такта, а не так:

Цитата
АЛГОРИТМ ДЕКОДИРОВАНИЯ

1. вычисляем константу для таймера, чтобы получить интервал 1,778 мс
2. unsigned int rc5_reg=0;
3. unsigned char rc5_counter=0;
4. настраиваем внешнее прерывание по спаду
5. ждем внешнее прерывания; что-либо делаем или спим…
6. первое EXT_INT:
1) запускаем таймер
2) переводим внешнее прерывание в режим по фронту
далее по EXT_INT в rc5_reg устанавливаем LSB

по таймеру сдвигаем регистр влево (rc5_reg<<=1;)
и rc5_counter++;

когда rc5_counter==13 останавливаем таймер и переводим EXT_INT в режим по спаду
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Stas
сообщение Sep 30 2006, 07:03
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 464
Регистрация: 1-10-04
Из: Челябинск
Пользователь №: 751



Делал два раза в разное время такие вещи но на AT89C2051. По внешнему прерыванию запускался прием посылки, принимал прграммно (через задержки считывал по битику, анализировал), на таймере паралельно запускался счетчик тайм аута. После приема (если он не заканчивался тайм аутом) сравнивал результат с используемыми кодами, если тайм аут или несовпадение то пропускаем код - защита от случайного срабатывания. Ради хохмы специально устраивал помехи на ик светодиодах, подавал коды в другом стандарте, ошибок декодирования небыло...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vooon   RC5   Sep 29 2006, 19:32
- - singlskv   Цитата(vooon @ Sep 29 2006, 23:32) Решил ...   Sep 29 2006, 19:52
- - vooon   ЦитатаВ вашем варианте алгоритма нет (???) защиты ...   Sep 29 2006, 20:47
- - vooon   Вроде что-то начало получаться, прикрепил си, пров...   Sep 30 2006, 23:06
- - algidim   Цитата(vooon @ Sep 29 2006, 23:32) Решил ...   Sep 30 2006, 23:34
- - vooon   ЦитатаИ за что Вы говорите огромное спасибо Леонид...   Oct 1 2006, 09:27
- - vooon   Возникла проблема с COM1 портом, нет ответа прове...   Oct 1 2006, 11:04
- - Pyku_He_oTTyda   ЦитатаВопрос как проверить не сгорел-ли порт? Или ...   Oct 1 2006, 15:18
- - Леонид Иванович   Цитата(vooon @ Sep 29 2006, 22:32) Итак п...   Oct 1 2006, 15:19
- - ps1x   Думаю это Вам поможет - RC-5 for Atmega (c code) Щ...   Oct 1 2006, 17:40
|- - 676038   ps1x vooon А я как-то написал чтение RC5 без испол...   Oct 2 2006, 02:50
- - vooon   Цитатаа где взять это Код#include <bitmsk.h...   Oct 2 2006, 02:49
- - ValeraK   Я в прошлом году делал тестер для пультов RC-5 ста...   Oct 2 2006, 02:53
- - vooon   Свой алгоритм я проверил - работает (пока ) длите...   Oct 2 2006, 03:04
- - algidim   Вот моя прога, может поможет, там реализован регул...   Oct 2 2006, 20:56
- - hd44780   algidim, для какого конроллера вы это писали и на ...   May 24 2007, 07:07


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:05
Рейтинг@Mail.ru


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