接上篇:【LoRa模块测评】实现休眠模式读取配置
本帖主要实现2个模块之间的通信。
上一贴实现了读取模块的默认配置,本帖开始实现模块互相通信
接线图依旧按照之前帖子的接线,见下图
下面开始实现配置模块和发送接收参数,代码如下
- void Send_SX1276(u16 address,u8 *str)
- {
- u8 i=3;
- u8 Tx_buffer[58];
-
-
- Tx_buffer[0]=(address>>8)&0xff;
- Tx_buffer[1]=address&0xff;
- Tx_buffer[2]=0x17;//frequ;
- while(*str != NULL)
- {
- Tx_buffer[i++]=*str++;
- }
- uart6_send(Tx_buffer,i);
- }
- void Write_SX1276(u16 address,u8 frequ)
- {
- u8 Tx_buffer[20];
-
- Tx_buffer[0]=0xc0;
- Tx_buffer[1]=(address>>8)&0xff;
- Tx_buffer[2]=address&0xff;
- Tx_buffer[3]=0x1a;//lorarcv[3];
- Tx_buffer[4]=frequ;
- Tx_buffer[5]=0x44;//lorarcv[5];
-
- M0=1;
- M1=1;
- delay_ms(500);
- uart6_send(Tx_buffer,6);
- delay_ms(5000);
- }
复制代码 在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);
在串口助手接收里面发现,接收到了模块发的数据
目前有只能把2个模块的地址和信道都设置成相同的,才能实现通信,如果设置成不同的,就不能接收到数据,不知道是模块的问题,还是个人问题,还有待进一步研究手册。
接下来开始实现使用HOST模块控制slave模块,实现类似遥控的功能。
|
https://www.stmcu.org.cn/module/forum/thread-615497-1-1.html