程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了RGBmatrixPanel 库干扰 IRremote 库大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决RGBmatrixPanel 库干扰 IRremote 库?

开发过程中遇到RGBmatrixPanel 库干扰 IRremote 库的问题如何解决?下面主要结合日常开发的经验,给出你关于RGBmatrixPanel 库干扰 IRremote 库的解决方法建议,希望对你解决RGBmatrixPanel 库干扰 IRremote 库有所启发或帮助;

我想我在 RGBmatrixPanel 库 AKA PxMatrix LED MATRIX 库中发现了一个错误。

我正在使用连接到运行 PxMatrix 1.8.1 版的 64x32 .matrix 板的 Arduino Mega

RGBmatrixPanel 库,或更具体地说,用于初始化和启动板的函数 @H_576_7@matrix.begin()@H_403_6@ 以某种方式干扰了广泛使用的 IRremote 库。

我创建了一个最小可重现示例(如下),可以在其中看到此问题。红外接收器按预期正常工作,但一旦 @H_576_7@matrix.begin()@H_403_6@ 运行,红外接收器停止返回值,而是返回随机 HEX 代码。

注意:红外接收器插入兆欧表的第 3 针 注 2:代码实际上并未向 LED 板打印任何内容,因此很明显 RGBmatrixPanel 库有问题。

#include <RGBmatrixPanel.h>
#include <IRremote.h>

#define CLK 11
#define OE 9
#define LAT 10
#define A A0
#define B A1
#define C A2
#define D A3

RGBmatrixPanel matrix(A,B,C,D,CLK,LAT,OE,false,64);

int RECV_PIN = 3;
IRrecv receiver(RECV_PIN);
decode_results results;

voID setup() {
  serial.begin(9600);
  //matrix.begin();      //unslash matrix.begin() for the IRreciver to stop working
 receiver.enableIRIn();
}

voID loop() {
  if(receiver.decode(&results)) {            
    serial.println(results.value,HEX);     
    receiver.resume();                      
  } 
}
@H_403_6@

如果您需要有关此问题的更多信息,我将不胜感激。

提前致谢,艾略特

解决方法

我不确定是什么让你认为这是一个

RGBmatrixPanel 库中的错误

如果与另一个库有冲突。为什么不是 IRRemotes 的错?

其实这不是任何人的错。在你的生活中,你会遇到很多这样的冲突。

如果两个设备有相同的 i2c 地址怎么办?这是谁的错?再一次,没有人。

两个库可能使用相同的计时器。

硬件资源非常有限。你不能给每个图书馆专属的资源。那是行不通的。

快速查看 IRReceiver 库的源代码表明您可以更改使用的计时器。

我建议您仔细阅读这两个库的代码和文档。

大佬总结

以上是大佬教程为你收集整理的RGBmatrixPanel 库干扰 IRremote 库全部内容,希望文章能够帮你解决RGBmatrixPanel 库干扰 IRremote 库所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:库干扰