315/433 RF 接收中断问题
本帖最后由 andyup 于 2015-2-4 16:46 编辑2560的板,中断为
Board int.0 int.1 int.2 int.3 int.4 int.5
Mega2560 2 3 21 20 19 18
#include <RCSwitch.h>
RCSwitch mySwitch315 = RCSwitch();
RCSwitch mySwitch433 = RCSwitch();
mySwitch315.enableReceive(2); //D21
mySwitch433.enableReceive(3); //D20
用21和20的接口,但同时接上去后会都收不到。请问,如果让315和433的同时能接收??
发送也一样,不能一起用,分别接上去是没有问题 应该是不能同时接收2个信号的,你可以看enableReceive()里的代码,
如下一句就是把中断挂在系统中,你把2个中断挂在一个函数上,
理论上这样是可行的,问题是433/315接收器会同时产生相同中断,
这就造成这个函数死锁了。
你想要接收不同命令要等解码后再分别处理,而不是一开始就分别接收,这是不行的。 attachInterrupt(this->nReceiverInterrupt, handleInterrupt, CHANGE);
你这个是传有协议的信号么?频次多大,数据长度多少位? RCSwitch的库,标准的协议。24bit。 频率低。遥控开关用。
页:
[1]