微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 关于CC2500的问题

关于CC2500的问题

时间:12-22 整理:3721RD 点击:

CC2500将IOCFG0设置为0x06时,接收到数据可以在GDO0脚检测到一个信号脉冲,在检测到这个脉冲后读取RX FIFO可以得到正确的数据,但是我用的是一款低端的语音单片机,它没有外部中断,而产品功能不允许我一直在等待这个脉冲,因为还有其他事情要做,我有试过不管这个脉冲,每隔一段时间读取一次RX FIFO,但是都没有办法读到正确的发送端发送的数据,是不是CC2500必须在接收到GDO0的脉冲后读取RX FIFO才能读到正确数据?如果不是该怎样才能读到正确的数据?

我的建议是你在读取RXFIFO之前读一下RXBYTES.NUM_RXBYTES, 看一下有没有数据。你还要注意CRC校验是不是正确,确认一下有没有开AutoFlush. 还有就是注意不要溢出。

这样肯定不行的吧···就像前辈说的,会遇到溢出,或者被 Flush 之类的问题

不能中断就用查询 GDO 的办法

我的理解,当检测到声明信号的时候,表明 RF 接收到了对应的前导,信号 Clear 时,表示数据包接收完毕

就是说,在做其它事情的时候,时时检测一下这个 GDO

如果为高则等待 Clear 后,读取数据;如果 GDO 为低,就可以安心做手头事情

不知道这样是否可行,还请路过的前辈指导

对的,你尽量通过判断gdo的状态来确定有没有报文。也可以通过fifo的数量和gdo的状态一块来判断

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top