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

CC1101接收问题?

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

CC1101的配置如附图所示,现在有两点问题:

1、用轮询接收的方式,一块发送一块接收,发送频率每秒大概两次,多了会影响包的正确率或者收不到。

2、用中断的方式,在单步调试模式下每次收到数据都会有中断产生,但如果全速运行则只能触发一次中断。

请问有什么好的解决方法吗?

GDO2输出中断信号正确吗?

看你配置用GDO2 CRC 接收校验正确才触发中断,你把IOCFG2改为0x06看看,用接收到同步字就触发方式

谢谢。

    原因找到了,确实是要配置成0X06效果会好。另外就是按照我的配置(CC1101_MDMCFG4和CC1101_MDMCFG3)空中速率很低,才2kbps左右,这是影响发送速度的主要原因,按照这个配置发送时间大概是200ms,也就是这段代码执行时间:

while( GPIOPinRead( PORT_CC_GDO0, PIN_CC_GDO0 ) != 0 );
while( GPIOPinRead( PORT_CC_GDO0, PIN_CC_GDO0 ) == 0 );

如果把这两个配置注释掉选用默认的,速率是115kbps左右,这样发送时间就10ms不到了,速率大大提高。

    另外尽量用中断方式接收,因为轮询需要用SPI读取CC1101的寄存器,过于频繁读取效果不好。

那如果GDO0(发送指示引脚)和GDO2(接收指示引脚)都配制成0x06的话发送和接收会互相干扰呢,这样在发送的时候GDO2也会产生中断啊?

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

网站地图

Top