完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前在调一个智能家居方面的模块,主要就是从插座这里反馈环境数据 插座有没有通电 时间等等之类的数据给接收方,接收方使用串口与PC通信。
目前只需要用到两个zigbee,一个是协调器,也就是与PC通信的那个,用于接收插座发过来的数据以及从PC发送指令给插座; 另一个插座,设置为路由器,可以单片机采集各种数据然后通过串口zigbee发送给协调器。 目前是这样的情况,路由器通过PC监测可以发现PC串口与给zigbee串口的数据转发是正确的,可以发送多字节并且数据正确,协调器的PC串口与zigbee直接相接,PC给的数据直接给zigbee不用内部再转发。 以下是路由器的串口部分: void Uart1_send(uchar temp)//串口1发送函数 { SBUF=temp; while(ti==0); TI=0; } void Uart2_send(uchar temp)//串口2发送函数 { S2BUF=temp; while((S2CON & 0x02)==0); S2CON&=0xfd; } void Isr_Uart1 (void) interrupt 4 //串口1中断程序 { uchar temp; if (RI == 1)//接收到PC发来的数据 { RI = 0 ; temp = SBUF ; S2BUF = temp ;//转发至串口2路由ZigBee } if (TI == 1)//发送中断 { TI = 0 ; } } void Isr_Uart2 ( void ) interrupt 8 { uchar temp; if ( S2CON & 0x01 ) //S2RI==1 { S2CON &= 0xfe; temp = S2BUF ; SBUF = temp ;//转发至串口1C用于监测 } if ( S2CON & 0x02 ) //S2TI==1 { S2CON &= 0xfd; } } 以下是协调器的串口部分: void Uart1_send(uchar temp)//发送数据给PC,监测从PC接收到的数据是否与PC输入数据一致 { SBUF=temp; while(TI==0); TI=0; } void Isr_Uart1 (void) interrupt 4 //串口1中断程序 该串口与zigbee和PC相连 { uchar temp; if (RI == 1) //数据接收 协调器zigbee通过串口1从PC接收到要发送的指令 { RI = 0 ; temp = SBUF ; Uart1_send(temp); //调试用,监测数据 } if (TI == 1)//数据传送 协调器zigbee接收到路由发送的数据并发送到PC显示 { TI = 0 ; } } 以下是相互收发从PC上监测的数据:串口4连的是路由 发送为点对点传输模式 数据:0XFD(点对点传输模式指令) 0X01(发送的数据长度) 0X00 0X00(这两个字节为目的地址 即协调器地址) 0X00 (要传送的数据) 串口5连的是协调器 发送为点对点传输模式 数据:0XFD(点对点传输模式指令) 0X01(发送的数据长度) 0X00 0X01(这两个字节为目的地址 即路由器地址) 0X00 (要传送的数据) 不解的是在电脑上调试的时候从PC串口转发到zigbee串口数据是完全正确的 但是zigbee互发之后不仅没传输正确 PC监测到的数据也不正确了 求大神解答~不胜感激~ |
|
相关推荐
1个回答
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2571 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2366 浏览 5 评论
3214 浏览 3 评论
2840 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2793 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
671浏览 1评论
907浏览 0评论
1029浏览 0评论
673浏览 0评论
502浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 13:20 , Processed in 0.988338 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号