- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- {CC1101_IOCFG0, 0x06},
- {CC1101_FIFOTHR, 0x47},
- {CC1101_PKTCTRL0, 0x05},//0x05 default
- {CC1101_CHANNR, 0x01},
- {CC1101_FSCTRL1, 0x06},
- {CC1101_FREQ2, 0x0F},
- {CC1101_FREQ1, 0x62},
- {CC1101_FREQ0, 0x76},
- {CC1101_MDMCFG4, 0xF6},//f6
- {CC1101_MDMCFG3, 0x43},//43
- {CC1101_MDMCFG2, 0x13},//13 GFSK
- {CC1101_DEVIATN, 0x15},
- {CC1101_MCSM0, 0x18},
- {CC1101_FOCCFG, 0x16},
- {CC1101_WORCTRL, 0xFB},
- {CC1101_FSCAL3, 0xE9},
- {CC1101_FSCAL2, 0x2A},
- {CC1101_FSCAL1, 0x00},
- {CC1101_FSCAL0, 0x1F},
- {CC1101_TEST2, 0x81},
- {CC1101_TEST1, 0x35},
- {CC1101_MCSM1, 0x30},
以下是我的接收函数
- INT8U CC1101RecPacket( INT8U *rxBuffer )
- {
- INT8U status[2];
- INT8U pktLen;
- INT16U x = 0;
- if ( CC1101GetRXCnt( ) != 0 )
- {
- pktLen = CC1101ReadReg(CC1101_RXFIFO); // Read length byte
- if( ( CC1101ReadReg( CC1101_PKTCTRL1 ) & ~0x03 ) != 0 )
- {
- x = CC1101ReadReg(CC1101_RXFIFO);x=x;
- }
- if( pktLen == 0 ) { return 0; }
- else { pktLen --; }
- CC1101ReadMultiReg(CC1101_RXFIFO, rxBuffer, pktLen); // Pull data
- CC1101ReadMultiReg(CC1101_RXFIFO, status, 2); // Read status bytes
- CC1101ClrRXBuff( );
- if( status[1] & CRC_OK ) { return pktLen; }
- else { return 0; }
- }
- else { return 0; } // Error
- }