//********************************************************************************** //无线模块初始化 void CC_Init() { CLI(); CC_RESET(); CC_RfConfig(&rfSettings7680); //CC_RfConfig(&rfSettings1200); // CC_WrReg(CCxxx0_SYNC1,0xa4 );//缺省值是D391 // CC_WrReg(CCxxx0_SYNC0,0x25 ); //CC_WrReg(CCxxx0_SYNC1,0x08 );//缺省值是D391 //CC_WrReg(CCxxx0_SYNC0,0x00 ); //CC_WrReg(CCxxx0_SYNC1,Sync0 ); //CC_WrReg(CCxxx0_SYNC0,Sync1 ); CC_PaTable(PAMAX); CC_WrReg(CCxxx0_MCSM1,0x00 );//0x0f取消CCA,收发总回到RX 不能,否则不能自动校正频率 //CC_WrReg(CCxxx0_MCSM1,0x30 );//复位值0x30 有CCA,收发回IDLE // CC_WHITE(1); CC_FEC(1); Delay_ms(20); CC_RxOn(); //GIFR=0xE0;//clr int //CC_Test(); SEI(); }
void CC_Init(void){ // ******** Hardware init section ******* // Interrupts CC_GDO0_IRQ_DISABLE(); EICRA |= (1<<ISC01)|(0<<ISC00); // Falling edge generates an interrupt EIFR |= (1<<INTF0); // Clear IRQ flag // Setup ports CC_DDR &= ~((1<<CC_GDO0)|(1<<CC_MISO)); CC_DDR |= (1<<CC_CS)|(1<<CC_MOSI)|(1<<CC_SCLK); CC_PORT |= (1<<CC_GDO0)|(CC_MISO); // Enable pull-ups // Set initial values CC_SCLK_LO; CC_CS_HI; // Setup SPI: MSB first, master, SCK idle low, f/4 //SPCR = (0<<SPIE)|(1<<SPE)|(0<<DORD)|(1<<MSTR)|(0<<CPOL)|(0<<CPHA)|(0<<SPR1)|(0<<SPR0); //SPSR = (1<<SPI2X); // Setup UART as SPI: all the same as above UCSR0C = (1<<UMSEL01)|(1<<UMSEL00)|(0<<UDORD0)|(0<<UCPHA0)|(0<<UCPOL0); UCSR0B = (1<<TXEN0)|(1<<RXEN0); UBRR0 = 1; // ******* Firmware init section ******* CC.NewPacketReceived = false; CC_RESET(); CC_FLUSH_RX_FIFO(); CC_RfConfig(); //CC_GDO0_IRQ_ENABLE(); }
void CC_Init(void){ // ******** Hardware init section ******* // Interrupts CC_GDO0_IRQ_DISABLE(); #ifdef __AVR_ATmega324P__ EICRA |= (1<<ISC21)|(1<<ISC20); // Rising edge generates an interrupt EIFR |= (1<<INTF2); // Clear IRQ flag #elif defined (__AVR_ATmega16__) || defined (__AVR_ATmega16A__) //MCUCSR |= (1<<ISC2); // Rising edge generates an interrupt MCUCSR &= ~(1<<ISC2); // Falling edge generates an interrupt GIFR |= (1<<INTF2); // Clear IRQ flag #endif // Setup ports CC_DDR &= ~((1<<CC_GDO0)|(1<<CC_GDO2)|(1<<CC_MISO)); CC_DDR |= (1<<CC_CS)|(1<<CC_MOSI)|(1<<CC_SCLK); CC_PORT |= (1<<CC_GDO0)|(1<<CC_GDO2)|(CC_MISO); // Enable pull-ups // Set initial values CC_SCLK_LO; CC_CS_HI; // Setup SPI: MSB first, master, SCK idle low, f/4 SPCR = (0<<SPIE)|(1<<SPE)|(0<<DORD)|(1<<MSTR)|(0<<CPOL)|(0<<CPHA)|(0<<SPR1)|(0<<SPR0); SPSR = (1<<SPI2X); // ******* Firmware init section ******* CC.NewPacketReceived = false; CC_RESET(); CC_FLUSH_RX_FIFO(); CC_RfConfig(); CC_GDO0_IRQ_ENABLE(); }