打印

CC1101地址检查通信不成功

[复制链接]
2935|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yesful|  楼主 | 2012-6-25 17:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yesful 于 2012-6-25 17:45 编辑

最近调试CC1101模块~~~频率为433M~~~在无地址检测,可变长度模式下,通信正常~~~当我改成地址检测,将地址设置成相应地址,其它设置不变时,通信就不成功了~~~问题就出现在地址检测这部分,但我搞了好久都没调试通,现在请大家指点一下~~~
我的测试过程是这样的:
功能:发射模块向接收模块发送8字节数据,(即12345678
发射和接收都配置成:地址检测,可变长度数据,

0x05,// PKTCTRL1  Packet automation control.


0x05,// PKTCTRL0  Packet automation control.


0x01,// ADDR Device address.


0x20,// PKTLEN  Packet length.

发送端(2秒一次):

T
TX_Buff[0] = 10;
//
字节长度,这个字节长度,需要加上2 长度1字节和地址1字节,还是

                    //只是有用数据字节,即12345678
Tx_Buff[1] = 1;
//
地址

halRfSendPacket(Tx_Buff,10);
// Transmit Tx buffer data


接收端:

leng = 10;
//leng
的长度=8+2(长度1字节+地址1字节)



if(halRfReceivePacket(RxBuf,&leng))


{




Led = ~Led;



}


测试结果:LED灯不闪,接收端收不到数据,RXFIFO中的数据字节数为0


疑问:1、匹配地址:
                发送端:是发送数据包中,紧跟在数据长度后的ADDR字节的地址吗?
                接收端:是初始化时写入地址寄存器里的自身地址吗?
           2、TX_FIFO中的数据长度(Length field),它包插了哪里内容,是数据长度所占的
              1 字节+地址长度所占的一字节+有用数据的n字节,即Length = 1+1+n(个字节)
              还是,数据字节只是有用的数据长度,即Length = n吗?
           3、数据包格式:如果我设置成地址检测,则,发送的数据应该是,前导码+同步词汇
                                   +   数据长度+目标地址+有用数据+CRC状态字,当接收模块接收到
                                   数据后,从接收到的数据包中,提取地址(即长度字节后的地址)与
                                   自身地址作匹配对吗?        





相关帖子

沙发
yesful|  楼主 | 2012-6-25 17:43 | 只看该作者
晕,发的时候,提示没发成功,搞得我连发了两次,有劳版主帮我删掉一篇~~~:D

使用特权

评论回复
板凳
chunyang| | 2012-6-25 22:06 | 只看该作者
楼主仔细看看器件手册中的相关描述吧,不过组网时用协议更灵活,类似Modbus的。

使用特权

评论回复
地板
yesful|  楼主 | 2012-6-26 14:01 | 只看该作者
调通了,原来是我对数据长度理解错了~~~我原以为这个数据长度要人为的加在数据包里~~~难怪我的地址怎么也对不上~~~其实很多时候,遇到问题,是自己没静下心来思考~~~若是静下心来想,很多问题总会有眉目的~~~
在此谢谢chunyang的建议~~~

使用特权

评论回复
5
廊坊余文乐| | 2019-8-29 16:01 | 只看该作者
yesful 发表于 2012-6-26 14:01
调通了,原来是我对数据长度理解错了~~~我原以为这个数据长度要人为的加在数据包里~~~难怪我的地址怎么也对 ...

楼主你好,请问你的地址是写在长度后面吗?内容实现自定的吗,好比是设置地址是0X11,同样的也要在ADDR里面写入0X11是吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

64

帖子

1

粉丝