关于msp430控制cc110的收发问题
我的发送程序中寄存器的配置如下:CC1100_WriteReg(CC1100_FSCTRL1, 0x0A);//0x0A
CC1100_WriteReg(CC1100_FSCTRL0, 0x00);
CC1100_WriteReg(CC1100_FREQ2, 0x10);//载波435.999MHz
CC1100_WriteReg(CC1100_FREQ1, 0xC4);
CC1100_WriteReg(CC1100_FREQ0, 0xEC);
CC1100_WriteReg(CC1100_MDMCFG4, 0xC8);//0xC8
CC1100_WriteReg(CC1100_MDMCFG3, 0x93);
CC1100_WriteReg(CC1100_MDMCFG2, 0x03);//2-FSK,检测到 30/32 同步字位
CC1100_WriteReg(CC1100_MDMCFG1, 0x22);//前导字节数为4,关闭FEC
CC1100_WriteReg(CC1100_MDMCFG0, 0xF8);
CC1100_WriteReg(CC1100_CHANNR, 0x00);
CC1100_WriteReg(CC1100_DEVIATN, 0x74);
CC1100_WriteReg(CC1100_FREND1, 0x56);
CC1100_WriteReg(CC1100_FREND0, 0x10);//????????
CC1100_WriteReg(CC1100_MCSM1, 0x23);//发送结束之后进入RX状态,接收结束之后进入TX状态
CC1100_WriteReg(CC1100_MCSM0, 0x08);//0x18
CC1100_WriteReg(CC1100_FOCCFG, 0x15);
CC1100_WriteReg(CC1100_BSCFG, 0x6C);
CC1100_WriteReg(CC1100_AGCCTRL2, 0x03);
CC1100_WriteReg(CC1100_AGCCTRL0, 0x91);
CC1100_WriteReg(CC1100_FSCAL3, 0xA9);
CC1100_WriteReg(CC1100_FSCAL2, 0x29);
CC1100_WriteReg(CC1100_FSCAL0, 0x0D);
//CC1100_WriteReg(CC1100_FSTEST, 0x59);
CC1100_WriteReg(CC1100_TEST2, 0x86);
CC1100_WriteReg(CC1100_TEST1, 0x3D);
CC1100_WriteReg(CC1100_TEST0, 0x09);
CC1100_WriteReg(CC1100_IOCFG2, 0x09);
CC1100_WriteReg(CC1100_IOCFG0, 0x06);//0x06
CC1100_WriteReg(CC1100_PKTCTRL1, 0x04);//2个状态字节将附加在数
//据包的有效负载上
CC1100_WriteReg(CC1100_PKTCTRL0, 0x05);//CRC 校准开启,可变数据包长度模式
CC1100_WriteReg(CC1100_ADDR, 0x00);
CC1100_WriteReg(CC1100_PKTLEN, 0x0F);//数据包长度为15
请教高手在接收程序中寄存器该如何配置?或者说一下哪些寄存器的配置需要改一下? CC1100_WriteReg(CC1100_MCSM0, 0x08);//0x18
建议设置为0x18,为每次从IDLE状态到TX或RX状态进行一次校准。
设置为0x08需要手动发送一次校准命令。在频繁发送的时候可以减少进入RX或TX状态时间,因为校准需要一定时间。 回复【1楼】mtbf
-----------------------------------------------------------------------
哥们,你写过cc1100程序,能不能把你写的程序发给我看看? 哥们,我想问一下:我用的是2FSK的调制方式,一个cc1100发送数据,另一个接收数据,那么接收和发送程序中哪些寄存器设置应该不同? 代码最好参考SimpliciTI协议中的驱动部分。
还有就是TI的应用文档DN400 -- Interfacing CC1100 - CC2500 with MSP430 我看了TI公司的代码,发现发送是频谱仪没有波形,不知道怎么回事 现在收发问题解决了,但是怎样用固定长度协议和可变长度协议收发大于64字节的数据包?我已经搞了好几天了,请高手帮帮忙,不甚感激。还有就是怎样用无线长度协议收发大于255字节的数据包呢?
页:
[1]