极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11333|回复: 2

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

[复制链接]
发表于 2014-8-28 15:10:34 | 显示全部楼层 |阅读模式
如题,我要dump遥控器的Raw信号,当设置rawbuf在255及以下时,dump出来的长度就是Rawbuf的设置长度,把Raw改到500时,这时候可以看到长度变为100多,但看上去不是完整信息。所以我在猜想是因为rawbuf最多只能设置为255,也就是说信号过长导致IR remote无法正常dump。有人遇到过类似的问题吗
回复

使用道具 举报

发表于 2014-8-29 10:18:21 | 显示全部楼层
本帖最后由 Super169 于 2014-8-29 10:23 编辑

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

假設你在用這個庫的程式: http://blog.arduino.cc/2010/02/1 ... ibrary-for-arduino/


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

  1. // information for the interrupt handler
  2. typedef struct {
  3.   uint8_t recvpin;           // pin for IR data from detector
  4.   uint8_t rcvstate;          // state machine
  5.   uint8_t blinkflag;         // TRUE to enable blinking of pin 13 on IR processing
  6.   unsigned int timer;     // state timer, counts 50uS ticks.
  7.   unsigned int rawbuf[RAWBUF]; // raw data
  8.   uint8_t rawlen;         // counter of entries in rawbuf
  9. }
  10. irparams_t;
复制代码


而 rawbuf 的資料是這樣寫入的
  1. irparams.rawbuf[irparams.rawlen++] = irparams.timer;
复制代码
因為 rawlen 所限, 加大 rawbuf 也用不到.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-2 14:20:20 | 显示全部楼层
Super169 发表于 2014-8-29 10:18
可以的話, 最好把有關的庫及程式放上來, 或放個連結吧.

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

非常感谢,修改了uint8_t rawlen;  的定义,就可以了,之前没看仔细。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 20:13 , Processed in 0.036245 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表