极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10447|回复: 3

315/433 RF 接收中断问题

[复制链接]
发表于 2015-2-4 11:07:05 | 显示全部楼层 |阅读模式
本帖最后由 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的同时能接收??

发送也一样,不能一起用,分别接上去是没有问题
回复

使用道具 举报

发表于 2015-2-5 10:29:58 | 显示全部楼层
应该是不能同时接收2个信号的,你可以看enableReceive()里的代码,
如下一句就是把中断挂在系统中,你把2个中断挂在一个函数上,
理论上这样是可行的,问题是433/315接收器会同时产生相同中断,
这就造成这个函数死锁了。
你想要接收不同命令要等解码后再分别处理,而不是一开始就分别接收,这是不行的。
  1.     attachInterrupt(this->nReceiverInterrupt, handleInterrupt, CHANGE);
复制代码
回复 支持 反对

使用道具 举报

发表于 2015-2-5 16:12:57 | 显示全部楼层
你这个是传有协议的信号么?频次多大,数据长度多少位?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-2-6 09:36:05 | 显示全部楼层
RCSwitch的库,标准的协议。24bit。 频率低。遥控开关用。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 17:07 , Processed in 0.072580 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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