This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1101:CC1101卡在等待 GDO2被置位->SYNC 已发送。

Guru**** 2416110 points
Other Parts Discussed in Thread: CC1101

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1356970/cc1101-cc1101-stuck-in-wait-for-gdo2-to-be-set---sync-transmitted

器件型号:CC1101
主题中讨论的其他器件:测试2

你好、Siri、
我正面临着 几个问题。 如果您能帮我解决问题、那将会很有帮助。

1.) 当发送数据设备卡在行中 while (! (Pind &(1 <<GDO2)));  "等待 GDO2被置位->同步传输"。 请查看我的数据发送功能和所有其他寄存器设置。 器件处于 WOR 模式。

void WS_SendData(char *txBuffer,char size)
{
 	SpiWriteReg(CC1101_TXFIFO,size);
	SpiWriteBurstReg(CC1101_TXFIFO,txBuffer,size);			//write data to send
	SpiStrobe(CC1101_STX);									//start send
	while(!(PIND & (1 <<GDO2 )));	//DEVICE STUCK in this while LOOP //-- Wait for GDO0 to be set -> sync transmitted
	while((PIND & (1 << GDO2)));							// Wait for GDO0 to be cleared -> end of packet
	
	SpiStrobe(CC1101_SFTX);									//flush TXfifo
	SpiStrobe(CC1101_SIDLE);
	SpiStrobe(CC1101_SWOR);
}
NOTE:- DEVICE is in WOR mode with following settings.
PATABLE value is 0xC0 


#define VAL_IOCFG2        0x06
#define VAL_IOCFG1        0x5c
#define VAL_IOCFG0        0x07 
#define VAL_FIFOTHR       0x47
#define VAL_SYNC1         0xD3
#define VAL_SYNC0         0x91
#define VAL_PKTLEN        0x3d
#define VAL_PKTCTRL1      0x44  //0x05--Address checking enable//0x04--Add. check disabled
#define VAL_PKTCTRL0      0x05
#define VAL_ADDR          0x00
#define VAL_CHANNR        0x00
#define VAL_FSCTRL1       0x06
#define VAL_FSCTRL0       0x00
#define VAL_FREQ2         0x10
#define VAL_FREQ1         0xA7
#define VAL_FREQ0         0x62
#define VAL_MDMCFG4       0xF5
#define VAL_MDMCFG3       0x83
#define VAL_MDMCFG2       0x13										//GFSK -- 0X13// FSK -- 0X03 // OOK/ASK--0X33// 4-FSK--0X43 //MSK --0X73
#define VAL_MDMCFG1       0x22							//0x72// preamble set to 0x72-->24 bytes //older 0x22-->4 bytes
#define VAL_MDMCFG0       0xF8
#define VAL_DEVIATN       0x15
#define VAL_MCSM2         0x16
#define VAL_MCSM1         0x33
#define VAL_MCSM0         0x38
#define VAL_FOCCFG        0x16
#define VAL_BSCFG         0x6C
#define VAL_AGCCTRL2      0x03
#define VAL_AGCCTRL1      0x40
#define VAL_AGCCTRL0      0x91
#define VAL_WOREVT1       0x87
#define VAL_WOREVT0       0x6B
#define VAL_WORCTRL       0x78
#define VAL_FREND1        0x56
#define VAL_FREND0        0x10
#define VAL_FSCAL3        0xE9
#define VAL_FSCAL2        0x2A
#define VAL_FSCAL1        0x00
#define VAL_FSCAL0        0x1F
#define VAL_FSTEST        0x59
#define VAL_PTEST         0x7F
#define VAL_AGCTEST       0x3F
#define VAL_TEST2         0x81
#define VAL_TEST1         0x35
#define VAL_TEST0         0x09
#define VAL_PARTNUM       0x00
#define VAL_VERSION       0x06
#define VAL_FREQEST       0x00
#define VAL_LQI           0x00
#define VAL_RSSI          0x00
#define VAL_MARCSTATE     0x00
#define VAL_WORTIME1      0x00
#define VAL_WORTIME0      0x00
#define VAL_PKTSTATUS     0x00
#define VAL_VCO_VC_DAC    0x00
#define VAL_TXBYTES       0x00
#define VAL_RXBYTES       0x00
#define VAL_RF1AIFCTL0    0x00
#define VAL_RF1AIFCTL1    0x00
#define VAL_RF1AIFCTL2    0x00
#define VAL_RF1AIFERR     0x00
#define VAL_RF1AIFERRV    0x00
#define VAL_RF1AIFIV      0x00
#define VAL_RF1AINSTRW    0x00
#define VAL_RF1AINSTR1W   0x00
#define VAL_RF1AINSTR2W   0x00
#define VAL_RF1ADINW      0x00
#define VAL_RF1ASTAT0W    0x00
#define VAL_RF1ASTAT1W    0x00
#define VAL_RF1ASTAT2W    0x00
#define VAL_RF1ADOUT0W    0x00
#define VAL_RF1ADOUT1W    0x00
#define VAL_RF1ADOUT2W    0x00
#define VAL_RF1AIN        0x00
#define VAL_RF1AIFG       0x00
#define VAL_RF1AIES       0x00
#define VAL_RF1AIE        0x00
#define VAL_RF1AIV        0x00
#define VAL_RF1ARXFIFO    0x00
#define VAL_RF1ATXFIFO    0x00

2. 第二个问题是,在 WOR 模式下我没有在 GDO0上获得任何中断。 请帮助我完成发送器侧的寄存器设置、以便接收器可以通过此设置进行 WOR 运算来接收中断。 此外 、请告诉我上述接收器设置中需要进行的任何更改。

注意:-上述提供的代码和寄存器值位于 CC1101的接收器侧。

提前感谢