完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在努力使用CC2541的Proprietary mode作为BLE广播接收器,使用固定长度的basic mode,但是接收的数据一直不对,基本配置如下:
PRF_CHAN = 0x17; //PRF_CHAN set to 0x17 2402MHz PRF_TASK_CONF = 0x00; //PRF_TASK_CONF configured for Basic mode, fixed length. PRF_RADIO_CONF=0x00; PRF_ADDR_ENTRY0.CONF.ENA0 = 1 //only use primary sync word PRF_ADDR_ENTRY0.RXLENGTH = 19; //我要接收的广播数据,从access addr 后,到CRC前,有19字节 FRMCTRL0 = 0x40; //Magnitude:010 ; sync word is not included in CRC MDMCTRL0 = 0x04; //GFSK 250 kHz deviation, 1 Mbit/s data rate MDMCTRL1 = 0x48; //recommend value: Freeze frequency offset estimate after sync MDMCTRL2 = 0x00; //transfer from SYNC_WORD[0]-[31];last bit of preamble is inverse of first bit of sync word; 1 leading preamble byte MDMCTRL3 = 0x63; //Standard Gain and HIGH GAIN are both 0x63 SW0 = 0xD6; SW1 = 0xBE; SW2 = 0x89; SW3 = 0x8E; //sync word here for BLE broadcast access addr PRF_CRC_LEN = 3; //set CRC 3Byte PRF_CRC_INIT[3]=0x55; PRF_CRC_INIT[2]=0x55; PRF_CRC_INIT[1]=0x55; PRF_CRC_INIT[0]=0x00; BSP_P[0]=0x00; //BSP_Px= reset value; BSP_P[1]=0x5B; BSP_P[2]=0x06; BSP_P[3]=0x00; PRF_W_INIT=PRF_CHAN |0x40 ; //PRF_W_INIT set to channel number | 0x40 ,看蓝牙标准好像是这样设置但是实际程序运行时,BSP_W这个whitener寄存器的值会自动改变……不明白为什么 BSP_MODE=0x01; //使用7bit whitener,co-processor disable 每次广播时候程序会做出接收到数据的响应,但是接收的数据并不是期望值,CRC计算也不正确(寄存器RFIRQF1.RXNOK=1),希望有专家能够帮忙分析一下看看是哪里设置有问题,而且这个功能别人已经实现过的~ |
|
相关推荐
2 个讨论
|
|
只有小组成员才能发言,加入小组>>
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
476 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
946 浏览 1 评论
549 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
424 浏览 1 评论
975 浏览 0 评论
73浏览 3评论
CC3100BOOST使用CC3200lunchXL进行烧录
917浏览 2评论
TAS5411-Q1喇叭有爆破音,电压就会被拉低,有什么好办法解决吗?
371浏览 2评论
159浏览 2评论
207浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-7 02:29 , Processed in 0.688907 second(s), Total 43, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号