完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、配置
这东西的工作模式总共有三种,如下: 因此设置模块的话需要在初始化里AUX和MDO都为0(低电平)即可。 AUX和MDO随便找两个io口就可以了,MDO要设置成推挽输出,下拉。AUX要设置成输入,下拉。 根据实际操作,当AUX和MDO都拉低以后,芯片进入配置模式。可将模块的RXD和TXD接到串口(这个串口指的是正儿八经的串口,和u***长得挺像的那种),然后串口接电脑。这样用原子哥给的配置软件能很简单的查询当前模块的配置,然后改起来也很轻松。 以下是原子哥弄得软件:(真的挺好用的) 二、两个模块之间通讯 首先是连接方式。这次试的时候只用了一个单片机,那么为了不麻烦自己,还有一个模块就用串口接到电脑上。这样等于是电脑可以通过无线串口模块来接收和发送信息,但连单片机那个为了方便,就弄成当他接收到信息后,发送一个随便定的信息给电脑那个模块,然后电脑只要能显示就ok了。 实际使用下来,有几个需要注意的地方。 首先要让两个模块都能进行通信,需要把两个模块的MDO都设置成低电平。(这个千万别忘了去设置。。) 透明传输模式,该模式需要用的模块都被设置成透明传输模式且地址和信道都得是一样的。实际测试中,这个模式下模块真就相当于无线串口,用起来啥设置都不需要,原来串口咋用这时候就咋用。但是根据他的文档里说的,只要你模块的地址和信道一样,那按理说若有多个模块,所有模块都能接收到其中一个模块发出的信号。我只用了两个模块来试,就不知道实际上更多模块一起用透明传输模式的时候是不是真的是这样。 定向传输。这个模式麻烦一点,在发数据的时候需要按照格式来发,格式如下: 在用之前照样得配置一下模块。实际测试中发现这模式下,地址可以不一样,信道也可以不一样,然后在发数据之前要按格式那样加上目标模块的地址和信道就可以了。接收数据时发现接收到的数据并没有包含高低位地址和信道。说明白点就是(高位地址+低位地址+信道+数据)这样一个数据串被发送出来以后,接收到的东西只剩下(数据)。估计是在模块里面就被去掉了。我用的时候试了两个模块不同地址同一信道和两个模块不同地址不同信道,都是可以传输的。但没试过波特率不一样能不能传输,讲道理不用试我觉得也不行。。。 总结 差不多就这样了。总结一下首先使用之前写个程序拉高MDO,然后把所有用到的模块都先配置好。然后在你真正编写代码的程序里,在初始化里把MDO拉低,然后你就啥都不用管就好了。初始化也就就拉低拉高引脚。。。 这个东西就是串口到的代替品。它的优点是我觉得最大的是不需要再发送和接收上面做什么修改,正常USART的用法就可以了。就很方便。感觉很不错。 广播与数据监听模式没有试,总共就两块,也没啥好试的。 这东西要是没有原子哥那个配置软件,估计搞搞挺麻烦的 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:49 , Processed in 1.097819 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号