你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1647|回复: 1

[Lora] 【LoRa模块测评】实现模块互相通信

[复制链接]

100

主题

3617

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2018-4-17 08:29:25 | 显示全部楼层 |阅读模式
接上篇:【LoRa模块测评】实现休眠模式读取配置


本帖主要实现2个模块之间的通信。
上一贴实现了读取模块的默认配置,本帖开始实现模块互相通信
接线图依旧按照之前帖子的接线,见下图
11.jpg 12.jpg

下面开始实现配置模块和发送接收参数,代码如下
  1. void Send_SX1276(u16 address,u8 *str)
  2. {
  3.         u8 i=3;
  4.         u8 Tx_buffer[58];
  5.         
  6.    
  7.         Tx_buffer[0]=(address>>8)&0xff;
  8.         Tx_buffer[1]=address&0xff;
  9.         Tx_buffer[2]=0x17;//frequ;
  10.         while(*str != NULL)
  11.         {
  12.                 Tx_buffer[i++]=*str++;
  13.         }

  14.         uart6_send(Tx_buffer,i);
  15. }

  16. void Write_SX1276(u16 address,u8 frequ)
  17. {
  18.      u8 Tx_buffer[20];
  19.    
  20.         Tx_buffer[0]=0xc0;
  21.         Tx_buffer[1]=(address>>8)&0xff;
  22.         Tx_buffer[2]=address&0xff;
  23.         Tx_buffer[3]=0x1a;//lorarcv[3];
  24.         Tx_buffer[4]=frequ;
  25.         Tx_buffer[5]=0x44;//lorarcv[5];
  26.         
  27.         M0=1;
  28.         M1=1;
  29.         delay_ms(500);
  30.         uart6_send(Tx_buffer,6);
  31.         delay_ms(5000);
  32. }
复制代码
在main函数添加
uint8_t senddata[]={0x31,0x32,0x33,0x34};

uart6_init(84,9600);
Write_SX1276(1,0x17);
    M0=0;
    M1=0;
    delay_ms(500);



Send_SX1276(1,senddata);
delay_ms(5000);
在串口助手接收里面发现,接收到了模块发的数据
13.jpg

目前有只能把2个模块的地址和信道都设置成相同的,才能实现通信,如果设置成不同的,就不能接收到数据,不知道是模块的问题,还是个人问题,还有待进一步研究手册。
接下来开始实现使用HOST模块控制slave模块,实现类似遥控的功能。


回复

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2018-4-17 14:50:06 | 显示全部楼层
感谢分享,请汇总到4月技术原创
https://www.stmcu.org.cn/module/forum/thread-615497-1-1.html
回复 支持 反对

使用道具 举报

关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版