Example #1
0
//**********************************************************************************
//无线模块初始化
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();
}
Example #2
0
File: cc2500.c Project: Kreyl/nute
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();
}
Example #3
0
File: cc1101.c Project: Kreyl/nute
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();
}