搜索
bottom↓
回复: 10

CC2500配置好了,但是还是不能通讯,不知道怎样确定是否正确发送或接收。

[复制链接]

出0入0汤圆

发表于 2008-7-29 11:56:16 | 显示全部楼层 |阅读模式
CC2500配置好了,但是还是不能通讯,不知道怎样确定是否正确发送或接收。

我的发送端程序如下:

uchar t_buf[2]={0x01,0x02};
int main(void)
{       
        Init();
        POWER_UP_RESET_CCxxx0();
        halRfWriteRfSettings(&rfSettings);
        halSpiWriteReg(CCxxx0_PATABLE, paTable);
        while(1)
                  {
                        halSpiStrobe(CCxxx0_SIDLE);
                        halRfSendPacket(t_buf,2);
                        _delay_ms(1000);
                }
}

接收端程序如下:

uchar r_buf[2];
int main(void)
{       
        uchar len;
        Init();
        POWER_UP_RESET_CCxxx0();
        halRfWriteRfSettings(&rfSettings);
        halSpiWriteReg(CCxxx0_PATABLE, paTable);
        while(1)
                  {
                        halSpiWriteReg(CCxxx0_PATABLE, paTable);
                        if(halRfReceivePacket(r_buf,&len))
                                {
                                        t_buf[2]=r_buf[0];
                                        t_buf[3]=r_buf[1];
                                        SerialSend();             //通过串口将收到的数据发送到PC端
                                }

               
                     }
}

配置:
const RF_SETTINGS rfSettings = {
        0x07,   // FSCTRL1   Frequency synthesizer control.
    0x00,   // FSCTRL0   Frequency synthesizer control.
    0x5D,   // FREQ2     Frequency control word, high byte.
    0x93,   // FREQ1     Frequency control word, middle byte.
    0xB1,   // FREQ0     Frequency control word, low byte.
    0x2D,   // MDMCFG4   Modem configuration.
    0x3B,   // MDMCFG3   Modem configuration.
    0x73,   // MDMCFG2   Modem configuration.
    0x22,   // MDMCFG1   Modem configuration.
    0xF8,   // MDMCFG0   Modem configuration.
    0x00,   // CHANNR    Channel number.
    0x01,   // DEVIATN   Modem deviation setting (when FSK modulation is enabled).
    0xB6,   // FREND1    Front end RX configuration.
    0x10,   // FREND0    Front end RX configuration.
    0x18,   // MCSM0     Main Radio Control State Machine configuration.
    0x1D,   // FOCCFG    Frequency Offset Compensation Configuration.
    0x1C,   // BSCFG     Bit synchronization Configuration.
    0xC7,   // AGCCTRL2  AGC control.
    0x00,   // AGCCTRL1  AGC control.
    0xB0,   // AGCCTRL0  AGC control.
    0xEA,   // FSCAL3    Frequency synthesizer calibration.
    0x0A,   // FSCAL2    Frequency synthesizer calibration.
    0x00,   // FSCAL1    Frequency synthesizer calibration.
    0x11,   // FSCAL0    Frequency synthesizer calibration.
    0x59,   // FSTEST    Frequency synthesizer calibration.
    0x88,   // TEST2     Various test settings.
    0x31,   // TEST1     Various test settings.
    0x0B,   // TEST0     Various test settings.
    0x07,   // FIFOTHR   RXFIFO and TXFIFO thresholds.
    0x29,   // IOCFG2    GDO2 output pin configuration.
    0x06,   // IOCFG0D   GDO0 output pin configuration. Refer to SmartRF?Studio User Manual for detailed pseudo register explanation.
    0x04,   // PKTCTRL1  Packet automation control.
    0x01,   // PKTCTRL0  Packet automation control.
    0x00,   // ADDR      Device address.
    0xFF    // PKTLEN    Packet length.
};

还麻烦大家帮我看下有没有什么问题。万分感谢!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2008-7-29 15:32:05 | 显示全部楼层
没人理我。
GDO0一直没有变化。

//使用CC2500发送数据
void halRfSendPacket(INT8U *txBuffer, INT8U size)
{
        halSpiWriteReg(CCxxx0_TXFIFO, size);
        halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size);                 //写入要发送的数据
        halSpiStrobe(CCxxx0_STX);                                 //进入发送模式发送数据
        // Wait for GDO0 to be set -> sync transmitted
        while (!(PIND&(1<<1)));
        // Wait for GDO0 to be cleared -> end of packet
        while (PIND&(1<<1));
        halSpiStrobe(CCxxx0_SFTX);
}

出0入0汤圆

发表于 2008-7-29 18:03:28 | 显示全部楼层
刚开始调的时候不要急着试是否通讯的上。
确定硬件没问题的话,先调通SPI,再看CC2500能否正常复位,寄存器是否配置正确。
然后再调发射部分,把GDO0或是GDO2设置成0x06,看是否有波形。

出0入0汤圆

 楼主| 发表于 2008-7-29 22:59:18 | 显示全部楼层
已经确定硬件没有问题,CC2500设置好后,GDO0上的135KHz的方波变为低电平。正在调试发射部分,问题就是我上面说的,GDO0一直为低电平,程序运行到  while (!(PIND&(1<<1))); 就一直在这里了。还没有试过GDO2

出0入0汤圆

发表于 2008-8-7 12:35:49 | 显示全部楼层
我的也是到这一步,走不下去了.兄弟你的解决了吗?

出0入0汤圆

发表于 2008-8-8 22:36:20 | 显示全部楼层
先找/买个能正常通讯的板子,自己这部分以他为目标通讯。有个参照快点,稍微投入点呦。

出0入0汤圆

发表于 2009-7-25 16:33:20 | 显示全部楼层
我最近也在调CC2500的模块,不过我的是硬件的问题多,愿意的话一起合作吧,谢谢!

出0入0汤圆

发表于 2013-5-29 16:52:35 | 显示全部楼层
同样情况啊
无法通信,解决中!

出0入0汤圆

发表于 2013-7-26 09:37:18 | 显示全部楼层
楼主搞定没?我这边SPI没有问题,135kHz也有,IOCFG0和IOCFG2配置为0x06,发送没有高电平

出0入0汤圆

发表于 2014-4-2 22:27:59 | 显示全部楼层
原来,有这么多人都碰到过这样的问题呀,我调了快一周了,用的STM32的硬件SPI接口,看了时序都正常,可就是两个模块通信不上。严重挫败啊!

出0入0汤圆

发表于 2014-4-2 22:51:19 | 显示全部楼层
CC1101 同样悲剧中。。。哎
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 13:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表