找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4193|回复: 1
打印 上一主题 下一主题
收起左侧

超再生433M无线模块在单片机中收发问题

[复制链接]
跳转到指定楼层
楼主
ID:183198 发表于 2017-5-23 22:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


超再生无线模块就是上图的产品,在淘宝上很便宜,1块多就可以买一对。我买了2对,本以为很容易就可以搞定,
编程序对我来说并不是难事,谁知道搞了好几天都没搞定。
1.首先我是用面包板测试,在发送模块的数据输入端和vcc之间接一个按键模拟输入,接收模块的数据输出端接万用表正极,
每次按下按键,按键接通,万用表会跳动一下不超过2V,接着断开按键,万用表会跳到3.5V左右的位置,再慢慢回到零。
这说明发送模块和接收模块是能够通讯的。

2.接下来我换上单片机,接收模块和单片机相连,接收模块的VCC和GND都直接连到单片机开发板上的VCC和GND接口,万用表的正极还是接发送模块的数据输出口,负极接开发板的GND,发送模块还是用面包板,结果无论怎么按键,万用表指针总是在2V左右摆动。我以为是单片机开发板的电源问题,
把接收模块的VCC和GND和一个单独的5V电源连接,5V电源的GND和单片机的GND相连(是不是要这样共地?),发送模块按键后,可以测得万用表指针会跳到3.5V左右再回零。接下来我把接收模块的数据输出端连接到单片机的一个输入端口,写了一段代码测试端口电平是否变化,结果不管发送模块怎么发送,单片机输入端口都无法测得有电平变化(除刚开始复位后运行代码输入端口会有变化)。

因为本人以前是做软件的,刚学习单片机几个月,对模电数电知识懂得不多,不知道上面的接线法是否正确,正确的方法应该怎样做才能接收到信号?请各位不吝指教,多谢了!

代码是用ATMEGA128汇编写的,很简单:
.EQU SRG_R_DDR=DDRE
.EQU SRG_R_DDR_DA=DDE2
.EQU SRG_R_PORT = PORTE
.EQU SRG_R_PORT_DA = PORTE2
.EQU SRG_R_PIN = PINE
.EQU SRG_R_PIN_DA = PINE2


.CSEG
.ORG $0000
JMP __RESET__


__RESET__:
;设置堆栈
        LDI R16, LOW(RAMEND)
        OUT SPL, R16
        LDI R16, HIGH(RAMEND)
        OUT SPH, R16

;初始化数据输入端口
        CALL SRG_INIT
__RESET__01:
;测试数据输入端口电平变化
        CALL SRG_TESTLEVEL
        JMP __RESET__01



SRG_INIT:
        ;设置接收端口为输入 缺省高阻
        CBI SRG_R_DDR, SRG_R_DDR_DA
        CBI SRG_R_PORT, SRG_R_PORT_DA;高阻
        ;SBI SRG_R_PORT, SRG_R_PORT_DA;上拉高电平


        RET


;测试数据输入口电平变化
SRG_TESTLEVEL:
        SBIS SRG_R_PIN, SRG_R_PIN_DA;如果高电平跳出循环
        RJMP SRG_SRG_TESTLEVEL
        RET
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:170346 发表于 2017-5-27 15:52 | 只看该作者
你试试 凌承芯 的无线模块,体积非常小,接受波形清晰,我拿它替代无线遥控器中的那个收发模块,非常管用,距离也长,你可以试试看
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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