RC-5 Декодирование

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

RC-5 Декодирование

Сообщение FUZZY_ »

Вот привожу файлы временных диаграм для кнопок <POWER> и <0> пульт RC5 (SAA3010T)
снятые микроконтролером AT90s2313. 8 Мгц TCCR0 = 0x04;

При попытке использования исходника ( http://radiokot.ru/articles/16/02.zip ) для AT90s2313. 8 Мгц TCCR0 = 0x04; программа затыкается при декодировании 8 - 9 бита
и соответсявенно не работает .

В чем может быть проблема ?

вот мои настройки

#define l_min 50 //диапазон для "длинного" (long) интервала в посылке, в "тиках" таймера, 1,28..2,176мс
#define l_max 68
#define s_min 17 //диапазон для "короткого" (short) интервала в посылке, в "тиках" таймера, 0,704..1,088мс
#define s_max 40
Вложения
DEC_power.TXT
(155 байт) 374 скачивания
DEC_0.TXT
(175 байт) 212 скачиваний
Реклама
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

Вот эти пульты . Есть небольшой разброс по времени но катина та же
Вложения
rc5_pult.jpg
(136.45 КБ) 790 скачиваний
pults.jpg
(145.23 КБ) 470 скачиваний
Последний раз редактировалось FUZZY_ Вт июл 05, 2011 20:35:57, всего редактировалось 1 раз.
Реклама
bars
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Вс фев 01, 2009 21:08:46

Re: RC-5 Декодирование

Сообщение bars »

попробуйте другой алгоритм: например как тут http://easyelectronics.ru/ik-distancion ... lenie.html или тут http://avrproject.ru/publ/protokol_rc5_ ... r/1-1-0-30
kris95
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Ср янв 07, 2009 19:30:23

Re: RC-5 Декодирование

Сообщение kris95 »

Вот из давних проектов. Много лишнего, но дума разберёшься. Код рабочий.
Вложения
AZSprice.rar
(62.4 КБ) 333 скачивания
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18657
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: RC-5 Декодирование

Сообщение ARV »

ну и мои 5 копеек: http://arv.radioliga.com/content/view/219/43/
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

Спасибо всем кто откликнулся.

А теперь по существу:

Исходники

http://radiokot.ru/articles/16/02.zip , http://radiokot.ru/forum/download/file.php?id=71435 (AZSprice.rar )
построены по одному и тому-же алгоритму и содержат одну и ту же ошибку или нюанс - затыкаются при приеме 10 - 12 бита кода RC5
ЭТО ПРИ ТОМ ЧТО АЛГОРИТМ ОБРАБОТКИ ПРАВИЛЬНЫЙ (скорее всего авторы выложили более рании версии своих исходников ).

В архиве RC5_decode_AT90s2313.rar находится исправленый код для AT90s2313

Вот результаты работы исправленого кода для пульта RC5 SAA3010T сканирование кнопок

*******************************************
Terminal log file
Date: 03.07.2011 - 11:41:49
-----------------------------------------------
chip = SAA3010T fl=RC5 contry=CHINA
-----------------------------------------------
key scancode

power = 00 0C
off speaker =00 0D
1 = 00 01
2 = 00 02
3 = 00 03
4 = 00 04
5 = 00 05
6 = 00 06
7 = 00 07
8 = 00 08
9 = 00 09
0 = 00 00
-/-- = 00 0A
>>> = 00 1E
prog+ =00 20
prog- =00 21
tune+ = 00 2B
tune- =00 2C
loudless+ = 00 10
store- = 00 29
call = 00 0F
loudless- =00 11
p.p =00 0E
timer = 00 26
contrast+ = 00 1C
sat + =00 14
bri+ = 00 12
av = 00 38
contast- = 00 1D
sat- =00 15
bri- = 00 13
tv = 00 3F
-----------------------------------------------
Date: 03.07.2011 - 11:43:45
End log file
Вложения
RC5_decode_AT90s2313.rar
(2.73 КБ) 251 скачивание
Последний раз редактировалось FUZZY_ Вс июл 03, 2011 12:57:12, всего редактировалось 1 раз.
Реклама
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

Вот не RC5 пульты - в них протокол NEC - 8 bit address 8 bit ~address 8 bit command 8 bit ~command

Желтый - 4$ китай -универсальный только для TV поддерживает 5 систем кодирования для разных TV


Сканкоды в кнопок power от пульта mp3 и SAT файле
Вложения
psat.TXT
(249 байт) 173 скачивания
pmp3.TXT
(249 байт) 166 скачиваний
nonRC5pult.jpg
(138.25 КБ) 666 скачиваний
kris95
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Ср янв 07, 2009 19:30:23

Re: RC-5 Декодирование

Сообщение kris95 »

Либо у вас времянки настроены были не правильно, либо ещё что. Но тот код работал. Как и код автора статьи
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

Вставленный код с коментариями

/* indection code */
faling=false;
RISING_INT0();
/* indection code */

и так далее по тексту программы

времянки настроены так чтобы подходил любой RC5 пульт (у меня их 10 )

Разброс в них конечно есть, но как и телики работают с любыми RC5 пультами так и прога должна работать

Все проги по одному алгоритму - в файле - но надо четко понимать что остается вне кадра алгоритма
Вложения
rc5.rar
(368.99 КБ) 191 скачивание
Последний раз редактировалось FUZZY_ Вт июл 05, 2011 20:28:15, всего редактировалось 1 раз.
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

По ходу дела собрал вот эту схему
http://servissistemy.narod.ru/index_fil ... kbd_bg.gif с сайта http://servissistemy.narod.ru/10.htm
Как всегда с USB надо точно согласовывать уровни (3.3 В D+ D-) - сразу не пошла (не определялся USB)
путем несложной доработки начала четко определяться.

но опять трабл не видит пульта ДУ
Вложения
dispechar.jpg
(10 КБ) 650 скачиваний
IR_mega48pa.jpg
(98.05 КБ) 657 скачиваний
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

Прошу помощи в асемблере как настроить длительности (код из источника выше)

; п/п приема RC5
; Вход: StateRC5 - состояние приема
; BitCnt - счетчик бит
; OldTMR1L - хранение сост. TMR1
; OldTMR1H - /
; Константа: Nt=T*Ft/Kd
; T=1778 - длит. периода RC5
; Ft=12 - тактовая частота, мгц
; Kd=8 Kd TMR1
; Выход: ByteRC5L - команда RC5 0xxx.xxxx
; ByteRC5H - система RC5 000x.xxxx
; StateRC5=FF при успешном приеме
; Используются: R16-R22
RxRC5:
lds R16,StateRC5
cpi R16,$FF
brne PC+2
ret ; не принимаем, предыд. команда не обраб.
cpi R16,$00
breq State0 ; 0
cpi R16,$01
breq State1 ; 1
cpi R16,$02
breq State02 ; 2
cpi R16,$03
breq State03 ; 3
rjmp NewRX ; ошибка, сброс
State02:
rjmp State2
State03:
rjmp State3
; ждем 1-й |_
State0:
sbic PINB,0 ; ICP1= PB0=0
ret ; =1 - выход, ждем
sbis TIFR1,ICF1 ; ICF1=1, был перепад |_
rjmp NewRX ; ошибка
; был |_
; инвертируем LED
lds R18,StateTest
in R17,PORTB
cbr R17,(1<<LEDTEST) ; LED=0, включен
tst R18
breq PC+2 ; StateTest=0
sbr R17,(1<<LEDTEST) ; LED=1, выключен
out PORTB,R17
;
lds R17,ICR1L ; сохранить захваченный TMR1
lds R18,ICR1H
sts OldTMR1L,R17
sts OldTMR1H,R18
StateInc:
inc R16 ; State+1
sts StateRC5,R16
ret
; проверяем время и принимаем бит
State1:
lds R17,TCNT1L ; считываем TMR1
lds R18,TCNT1H ; /
lds R19,OldTMR1L
lds R20,OldTMR1H
sub R17,R19 ; R17,R18 = TMR1-OldTMR1
sbc R18,R20
ldi R19,LOW(11*Nt/16) ; окно 11/16 Nt
ldi R20,HIGH(11*Nt/16); /
cp R17,R19
cpc R18,R20
brsh PC+2 ; прошло >11/16 Nt
ret ; ждем
clc ; C=0
sbic PINB,0 ; ICP1= PB0=0
sec ; C=1
lds R17,ByteRC5L
lds R18,ByteRC5H
rol R17 ; вдвигаем бит
rol R18
sts ByteRC5L,R17 ; сохранить
sts ByteRC5H,R18 ; /
com R17 ; инверсия
bst R17,0 ; bit0-->T
lds R17,TCCR1B
bld R17,ICES1
sts TCCR1B,R17 ; bit=0 - _|, =1 - |_
lds R17,BitCnt
inc R17 ; счетчик бит
sts BitCnt,R17
ldi R17,(1<<ICF1) ; $20
out TIFR1,R17 ; сброс флага ICF1
rjmp StateInc ; след. сост.
State2:
lds R17,ICR1L ; захваченный TMR1
lds R18,ICR1H
lds R19,OldTMR1L
lds R20,OldTMR1H
sub R17,R19 ; R17,R18 = ICR1-OldTMR1
sbc R18,R20
ldi R19,LOW(5*Nt/4) ; окно 5/4 Nt
ldi R20,HIGH(5*Nt/4); /
cp R17,R19 ; D(ICR1)-5/4 Nt
cpc R18,R20 ; /
brsh State2Er ; прошло >5/4 Nt, ошибка
sbis TIFR1,ICF1 ; ICF1=1
rjmp State2Wt ; ждем перепад с проверкой TOUT
lds R17,ICR1L ; захваченный TMR1
lds R18,ICR1H
sts OldTMR1L,R17 ; сохранить
sts OldTMR1H,R18
lds R17,BitCnt
cpi R17,Nbit-1 ; кол-во бит -1
brsh PC+3 ; все биты приняты
dec R16 ; не все
rjmp PC+2
inc R16
sts StateRC5,R16
; сбросим флаг ICF1, настроим на |_
lds R17,TCCR1B
cbr R17,(1<<ICES1) ; bit=0 - |_
sts TCCR1B,R17
ldi R17,(1<<ICF1) ; $20
out TIFR1,R17 ; сброс флага ICF1
ret
State2Wt:
lds R17,TCNT1L ; считываем TMR1
lds R18,TCNT1H ; /
lds R19,OldTMR1L
lds R20,OldTMR1H
sub R17,R19 ; R17,R18 = TMR1-OldTMR1
sbc R18,R20
ldi R19,LOW(3*Nt/2) ; окно 3/2 Nt
ldi R20,HIGH(3*Nt/2); /
cp R17,R19
cpc R18,R20
State2Er:
brsh NewRX ; прошло >3/2 Nt, ошибка
ret ; ждем
; приняты все биты, ждем 2Nt
State3:
lds R17,TCNT1L
lds R18,TCNT1H
lds R19,OldTMR1L
lds R20,OldTMR1H
sub R17,R19 ; TMR1-OldTMR1
sbc R18,R20 ; /
ldi R19,LOW(2*Nt)
ldi R20,HIGH(2*Nt)
cp R17,R19
cpc R18,R20
brsh PC+2 ; прошло >2 Nt
ret ; ждем 2 Nt
sbic TIFR1,ICF1 ; ICF1=0
rjmp NewRX ; был лишний перепад, ошибка
; формируем рез-т
lds R17,ByteRC5L
lds R18,ByteRC5H
rol R17
rol R18
rol R17
rol R18
ror R17
ror R17
set ; T=1
sbrc R18,6 ; ст.бит команды =0
clt ; T=0
bld R17,6 ; инверсный ст.бит
bst R18,5 ; tagle bit
bld R17,7
andi R18,$1F ; 000x.xxxx
; принята команда
clr R16
sts RtcRC5,R16 ; счетчик времени
lds R16,OldRC5L
cp R17,R16
breq NewRX ; повтор команды
sts OldRC5L,R17
andi R17,$7F ; маскируем Tagle bit
sts ByteRC5L,R17
sts ByteRC5H,R18
ldi R16,$FF ; команда принята
rjmp PC+2
NewRX:
clr R16 ; ошибка, новый прием
sts StateRC5,R16
ldi R16,RevTMR1 ; 1000.0010
sts TCCR1B,R16 ; настр. TMR1
ldi R16,(1<<ICF1) ; $20
out TIFR1,R16 ; сброс флага ICF1 на всяк.случай
clr R16
sts BitCnt,R16 ; сч.бит =0
; инвертируем LED
lds R16,StateTest
in R17,PORTB
sbr R17,(1<<LEDTEST) ; LED=1, выключен
tst R16
breq PC+2 ; StateTest=0
cbr R17,(1<<LEDTEST) ; LED=0, включен
out PORTB,R17
ret
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18657
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: RC-5 Декодирование

Сообщение ARV »

почему бы вам не воспользоваться моим кодом, который отлично работает с RC5 и многими другими стандартами? или свой особый путь - это важно?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

Прошу извинения у автора девайса - он полностью рабочий и код рабочий и работает слюбым RC5 пультом без всяких там настроек
типа мин и мах !!!!


У меня в схеме была сопля - а именно PB2 был соединен с ножкой питания фотоприемника - было обнаружено путем замера напряжений

была разница в 0.25 в между ножкой питания проца и PB2 в большую сторону
Последний раз редактировалось FUZZY_ Пт июл 08, 2011 22:42:59, всего редактировалось 1 раз.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18657
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: RC-5 Декодирование

Сообщение ARV »

FUZZY_ писал(а):Если можно исходник сюда.
я как бы с этого и начал:
ARV писал(а):ну и мои 5 копеек: http://arv.radioliga.com/content/view/219/43/
он там - я проверял :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

Спасибо. Привожу фото и где была ошибка
Вложения
usb_IR.jpg
(162.14 КБ) 406 скачиваний
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

По ссылке на приведеной код буду пробывать декодировать NEC протокол.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: RC-5 Декодирование

Сообщение Леонид Иванович »

Мои пять копеек: декодер, который поддерживает Extended RC-5 Code:

Код: Выделить всё

//----------------------------------------------------------------------------

//Декодер RC-5

//----------------------------------------------------------------------------

//Декодер использует два прерывания: внешнее от фотоприемника и
//прерывание по переполнению таймера 0.
//После того, как обнаружен стартовый бит (переход из единицы
//в ноль на входе прерывания), в обработчике внешнего прерывания
//разрешается прерывание таймера 0 и загружается интервал до первой
//выборки T_SAMPLE. В прерывании таймера 0 делаются выборки для
//каждной половинки бита. Подсчет выборок ведется в переменной SampCnt.
//Количество выборок задается константой SAMPLE_COUNT.
//Логический уровень для каждой половинки бита вычисляется по
//мажоритарному принципу. Для этого вычисляется сумма выборок
//в переменной SampVal. Если на входе обнаруживается ВЫСОКИЙ уровень,
//то к этой переменной добавляется единица, если НИЗКИЙ - вычитается.
//Значение суммы не может быть равно нулю, так как общее количество
//выборок всегда задается нечетным. По первой половине текущего бита
//принимается решение о значении принятого бита. Для проверки
//корректности кода Манчестер этот уровень сравнивается со значением
//второй половины предыдущего бита, которое сохраняется в переменной
//PreVal. Если значения совпадают, была ошибка, и прием начинается
//с начала. То же самое происходит, если очередной переход на входе
//не обнаружен через время T_SAMPLE * 2 после последней выборки
//(ошибка таймаута). Принятые биты вдвигаются в переменную Rc5Code.
//Подсчет принятых битов осуществляется в переменной BitCounter.
//Когда принято RC5_LENGTH битов, прием завершен, номер системы
//копируется в переменную SysVar, а код команды - в переменную ComVar.
//Декодер поддерживает Extended RC-5 Code, второй стартовый бит
//интерпретируется как бит F (Field). Бит F представляет собой
//инвертированный дополнительный (старший) бит кода команды,
//в результате количество команд удваивается.

//----------------------------------------------------------------------------

#include "Main.h"
#include "RC5.h"

//----------------------------- Константы: -----------------------------------

#define PRE            64 //предделитель таймера 0
#define RC5_SLOT     1778 //длительность слота RC-5, мкс
#define RC5_LENGTH     14 //количество принимаемых битов
#define SAMPLE_COUNT    3 //количество выборок (должно быть нечетным)

#define T_SAMPLE_US (RC5_SLOT / ((SAMPLE_COUNT + 1) * 2))
#define T_SAMPLE    (T_SAMPLE_US * F_CLK / PRE + 0.5)

//----------------------------- Переменные: ----------------------------------

static char SampCnt;        //счетчик выборок
static signed char SampVal; //величина, полученная суммой выборок
static bool PreVal;         //значение педыдущего полу-интервала
static int RC5Code;         //принятый код
static char BitCounter;     //счетчик принятых битов
static char SysVar;         //номер системы
static char ComVar;         //код команды

//-------------------------- Прототипы функций: ------------------------------

#pragma vector = INT0_vect
__interrupt void EdgeIR(void);   //прерывание по сигналу фотоприемника
#pragma vector = TIMER0_OVF_vect
__interrupt void TimerIR(void);  //прерывание таймера 0

//----------------- Инициализация модуля декодера RC-5: ----------------------

void RC5_Init(void)
{
  BitCounter = RC5_LENGTH;  //инициализация счетчика битов
  PreVal = 1;               //перед стартовым битом была единица
  SysVar = 0xFF;            //неиспользуемый код системы
  ComVar = 0xFF;            //неиспользуемый код команды
  TCCR0 = (1<<CS00) | (1<<CS01); //прескалер CK/64 для таймера 0
  MCUCR = (1<<ISC01);       //INT0 по спаду
  GIFR = (1<<INTF0);        //очистка отложенных прерываний
  GICR |= (1<<INT0);        //разрешение INT0
}

//------------- Обработчик прерывания по сигналу фотоприемника: --------------

#pragma vector = INT0_vect
__interrupt void EdgeIR(void)
{
  Port_LED_1;
  GICR &= ~(1<<INT0);       //запрещение INT0
  TCNT0 = 256 - T_SAMPLE;   //интервал до первой выборки
  TIFR = (1<<TOV0);         //очистка отложенных прерываний
  TIMSK |= (1<<TOIE0);      //разрешение прерываний таймера 0
  SampCnt = SAMPLE_COUNT * 2; //общее количесто выборок
  SampVal = 0;              //очистка принятого значения
}
    
//------------------ Обработчик прерывания таймера 0: ------------------------

#pragma vector = TIMER0_OVF_vect
__interrupt void TimerIR(void)
{
  if(SampCnt)                       //проверка таймаута
  {
    if(Pin_RC5) SampVal++;          //если на входе единица, инкремент суммы,
      else SampVal--;               //иначе декремент суммы
      
    if(--SampCnt)                   //декремент количества выборок
    {
      if(SampCnt != SAMPLE_COUNT)
      {
        TCNT0 = 256 - T_SAMPLE;     //продолжаем опрашивать
        return;
      }
      else                          //первая половина интервала закончилась:
      {
        TCNT0 = 256 - T_SAMPLE * 2; //загрузка интервала между сериями выборок
        bool Val = (SampVal > 0);   //оценка бита
        if(Val != PreVal)           //проверка корректности кода Манчестер
        {
          RC5Code <<= 1;            //сдвиг принятого кода
          if(!Val) RC5Code |= 1;    //первая половина = 0, бит = 1
          SampVal = 0;              //очистка счетчика выборок
          return;
        }
      }
    }
    else                            //вторая половина интервала закончилась:
    {
      TCNT0 = 256 - T_SAMPLE * 2;   //загрузка интервала таймаута
      PreVal = (SampVal > 0);       //оценка второй половины бита
      if(PreVal)                    //обнаружена единица,
        MCUCR &= ~(1<<ISC00);       //INT0 по спаду,
          else MCUCR |= (1<<ISC00); //иначе INT0 по фронту
      GICR |= (1<<INT0);            //разрешение INT0
      if(--BitCounter)              //декремент счетчика битов
        return;                     //переход к приему следующего бита
      SysVar = (RC5Code >> 6) & 0x3F; //номер системы
      ComVar = RC5Code & 0x3F;      //код команды
      if(!(RC5Code & 0x1000))       //добавление бита F
        ComVar |= 0x40;
    }
  }
  BitCounter = RC5_LENGTH;          //загрузка счетчика битов
  PreVal = 1;                       //перед стартовым битом была единица
  TIMSK &= ~(1<<TOIE0);             //запрещение прерываний таймера 0
  MCUCR &= ~(1<<ISC00);             //INT0 по спаду
  GICR |= (1<<INT0);                //разрешение INT0
  Port_LED_0;
}

//------------------------- Чтение номера системы: ---------------------------

char RC5_GetSys(void)
{
  return(SysVar);
}

//-------------------------- Чтение кода команды: ----------------------------

char RC5_GetCom(void)
{
  return(ComVar);
}

//----------------------------------------------------------------------------
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

Вот он еще один алгоритм декодирования - чем-то подобен коду на асемблере. Сп-бо.
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: RC-5 Декодирование

Сообщение FUZZY_ »

В доке описаны времянки протоколов обмена NEC , JVS, SAMSUNG, SHARP, SONY, RCA, PANASONIC, PHILIPS
Вложения
IRC.rar
(191.61 КБ) 214 скачиваний
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

Re: RC-5 Декодирование

Сообщение IM1 »

FUZZY_ писал(а):В доке описаны времянки протоколов обмена NEC , JVS, SAMSUNG, SHARP, SONY, RCA, PANASONIC, PHILIPS
Спасибо! :)
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»