psymon 发表于 2014-8-28 15:10:34

[求助] IR remote库如何dump大于255 rawbuf的信号

如题,我要dump遥控器的Raw信号,当设置rawbuf在255及以下时,dump出来的长度就是Rawbuf的设置长度,把Raw改到500时,这时候可以看到长度变为100多,但看上去不是完整信息。所以我在猜想是因为rawbuf最多只能设置为255,也就是说信号过长导致IR remote无法正常dump。有人遇到过类似的问题吗

Super169 发表于 2014-8-29 10:18:21

本帖最后由 Super169 于 2014-8-29 10:23 编辑

可以的話, 最好把有關的庫及程式放上來, 或放個連結吧.

假設你在用這個庫的程式: http://blog.arduino.cc/2010/02/11/arduino-all-stars-the-coplete-ir-library-for-arduino/


這裡 rawlen 用 uint8_t 去定義, 只可以用到 0 - 255.

// information for the interrupt handler
typedef struct {
uint8_t recvpin;         // pin for IR data from detector
uint8_t rcvstate;          // state machine
uint8_t blinkflag;         // TRUE to enable blinking of pin 13 on IR processing
unsigned int timer;   // state timer, counts 50uS ticks.
unsigned int rawbuf; // raw data
uint8_t rawlen;         // counter of entries in rawbuf
}
irparams_t;

而 rawbuf 的資料是這樣寫入的irparams.rawbuf = irparams.timer;
因為 rawlen 所限, 加大 rawbuf 也用不到.

psymon 发表于 2014-9-2 14:20:20

Super169 发表于 2014-8-29 10:18 static/image/common/back.gif
可以的話, 最好把有關的庫及程式放上來, 或放個連結吧.

假設你在用這個庫的程式: http://blog.arduino.c ...

非常感谢,修改了uint8_t rawlen;的定义,就可以了,之前没看仔细。
页: [1]
查看完整版本: [求助] IR remote库如何dump大于255 rawbuf的信号