ик rc5

double1
Offline
Зарегистрирован: 04.07.2016

может кто знает, шлю ик сигнал rc5 формата каждые 20мс

id++;
irsend.sendRC5(id, 8);   
delay(20);

на приемнике приходит такое

3F
40
41
42
43
44
45
46
47
48
49
7859A19C
4B
4C
4D
4E
4F
50
51
A19D1DA4
53
B8815362
B98154F5
DE83CDC9
57
58
59
3DCE5188
5B
5C
5D
5E

т.е. проблема в том, что на постоянных значениях приходит мусор.

я так понимаю, где-то глюк в ик диоде из-за маленькой паузы?

 

double1
Offline
Зарегистрирован: 04.07.2016

имею ввиду, что значения 4A, 52, 54, 55, 56, 5А приходят мусором. и еще обратил внимание, что мусор один и тот же. т.е. 4А всегда заменяется на 7859A19C и так далее.

ик диод в 5см от приемника, ничего не мешает. приемник 36кгц как нужно. 

double1
Offline
Зарегистрирован: 04.07.2016

вобщем, сам спросил, сам ответил

проблема была в количестве бит. в одном примере отправляли 8 бит и на каком-то значении id это было ок

в остальных примерах везде шлют по 12 бит и тоже случаются проблемы, хотя формат показвыает, что пакет вообще состоит из 14 бит: 2 стартовые - 1 повторный - 5 адрес - 6 команда.

в результате я отправил 11 бит, и полностью все значения от 0x000 до 0xFFF пришли без ошибок. похоже toggle повтора уже шлется какой-то дефолтовый.

id++;
irsend.sendRC5(id, 11);   
delay(20);

вот так работает четко