2499|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

CC2500调试心得 [复制链接]

        在连续几天的调试过程中,遇到了很多问题,网上很多类似的问题,这儿就一并总结一下,哈哈,也算是站在巨人的肩膀上吧~~~


1、CC2500的寄存器配置问题:


     在TI的官网上下载了SmartRF,发现用起来还是很过瘾的,至少它可以生成寄存器初始化结构体,呵呵。详细配置见下一篇博文~~~


2、模拟SPI的情况下,进行引脚配置是CSn、MOSI和SCLK均配置成推挽输出模式,MISO、GDO0和GDO2配置成上拉输入或者下拉输入;


3、CC2500的寄存器读写调试:


    1)、对CC2500初始化后,使用test = CC2500_ReadReg(IOCFG0);查看test的值,如果为0x06,说明SPI读写寄存器没有问题;


     2)、使用CC2500_BurstRead(IOCFG2,pdata,0x2F);(定义pdata[0x2F]),查看这个数组的值,说明burst-read SPI没有问题;


    3)、使用CC2500_BustWrite(IOCFG2,pdata,0x2F);(定义pdata[0x2F]并初始化),使用CC2500_BurstRead(IOCFG2,pdata,0x2F);查看数组的值,确定burst-write SPI没问题;


4、通过对寄存器进行恰当的配置后,其中IOCFG0配置为0x06,PKTCTRL1为0x04,PKTCTRL0配置为0x45(白化,带CRC),往TXFIFO里装载0x06,0x01,0x02,0x03,0x04,0x05,0x06,通过示波器观察GDO0引脚的波形(示波器触发模式为单次),可以发现其电平变化为低-高-低,其中高电平持续时间为292us,这个亲测,与TI官方文档上说明的一致。


5、接收模块的配置与发送模块的配置是一样的,将GDO0设置成下降沿触发中断,将接收端CC2500置于RX模式,当发送端发送数据完成时,接收端GDO0引脚上通过示波器观察可以看到其电平变化为低-高-低,高电平持续时间为290us,亲测。


6、其他:


      1)、如SPI读写有问题,不妨用示波器观察MOSI引脚(依旧是单次触发模式),看主设备发出的数据是否确为需要发的数据而非错发;如发出的数据没问题,则继续用示波器观察MISO引脚,看CC2500(从设备)回复的是什么数据,是否为0x0F;


      2)、如硬件SPI行不通,则改用模拟SPI尝试。本人遇到的问题是用SPI_I2S_SendData(SPI2,data+Readsingle);能够正常发送,当用SPI_I2S_SendData(SPI2,data+ReadBurst);时,最后MOSI引脚上会多出一长串1,导致通信失败,后来改用模拟SPI,这个问题就解决了。







此帖出自RF/无线论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表