完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
发送端代码:
int main(void) { int data[12]={0}; RIE_Responses RIE_Response = RIE_Success; WdtGo(T3CON_ENABLE_DIS); //uart-----start Urt_Init(UART_BAUD_19200); Urt_PinSetup(FALSE); printf("**************************rn"); printf("rn TX发送端初始化完成 rn"); printf("**************************rn"); //uart-----end // Initialise the Radio if (RIE_Response == RIE_Success) RIE_Response = RadioInit(DR_38_4kbps_Dev19_2kpbs); // Set the Frequency to operate at 915 MHz if (RIE_Response == RIE_Success) RIE_Response = RadioSetFrequency(915000000); // Set the PA and Power Level if (RIE_Response == RIE_Success) RIE_Response = RadioTxSetPA(DifferentialPA,PowerLevel15); if (RIE_Response == RIE_Success) RIE_Response = RadioTxPacketFixedLen(12, "HELLO WORLD"); printf("n输入要发送的数据:"); while (1) { Delay1(); RadioTxPacketFixedLen(12, "hello 123456"); } } 接收端代码: int main(void) { unsigned char Buffer[0x20]; RIE_U8 PktLen; RIE_S8 RSSI; RIE_U8 flag=0; RIE_Responses RIE_Response = RIE_Success; WdtGo(T3CON_ENABLE_DIS); //---------------UART code start--------------------- Urt_Init(UART_BAUD_19200); Urt_PinSetup(FALSE); printf("rn**************************rn"); printf("rn RX接收端初始化完成!nr"); printf("rn**************************rn"); //-----------------UART code end--------------------- // Initialise the Radio if (RIE_Response == RIE_Success) RIE_Response = RadioInit(DR_38_4kbps_Dev19_2kpbs); // Set the Frequency to operate at 915 MHz if (RIE_Response == RIE_Success) RIE_Response = RadioSetFrequency(915000000); if (RIE_Response == RIE_Success) RIE_Response = RadioRxPacketFixedLen(12); printf("nr正在接收数据nr"); if (RIE_Response == RIE_Success) { while (!RadioRxPacketAvailable()); } if (RIE_Response == RIE_Success) RIE_Response = RadioRxPacketRead(sizeof(Buffer), PktLen, Buffer, RSSI); if (RIE_Response == RIE_Success) printf("nr-> %s @ RSSI %d",Buffer,(int)RSSI); else printf("nr-> ERROR"); while(1) { //-------------接收数据---------------- RIE_Response = RadioRxPacketFixedLen(12); if (RIE_Response == RIE_Success) { while (!RadioRxPacketAvailable()); } if (RIE_Response == RIE_Success) RIE_Response = RadioRxPacketRead(sizeof(Buffer), PktLen, Buffer, RSSI); //-------------------------------------- printf("nr收到的数据:%s RSSI:%d",Buffer,(int)RSSI); } } 发送端和接收端的代码如上所附,通信时通信距离只有十几厘米,是不是有需要 注意的地方我没有注意到,期待解答。 |
|
相关推荐
1个回答
|
|
ADUCRF101通信距离很短可能由以下原因导致:
1. 发送端和接收端之间的距离较远。 2. 发送端和接收端之间有障碍物。 3. 发送端和接收端之间的信号衰减较大。 解决这个问题的方法有: 1. 增加发送端和接收端之间的距离。 2. 移除发送端和接收端之间的障碍物。 3. 增强信号的传输能力,如增加天线增益、使用更高功率的发送设备等。 4. 使用更高频率的通信信号。 需要注意的是,解决通信距离短的问题可能需要结合具体的通信环境进行调试和优化。同时,确认硬件和软件的配置是否符合通信需求也是很重要的。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
311 浏览 0 评论
783 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell编程入门之提取字符并设置rtc时间
826 浏览 0 评论
使用LIS2DW12TR加速度传感器可以计算物体重力方向运动的距离吗
1172 浏览 1 评论
【敏矽微ME32G070开发板免费体验】介绍、环境搭建、工程测试
409 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11958 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-15 20:40 , Processed in 0.711424 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号