Ejemplo n.º 1
0
//Sends one byte command
uint8_t spi_send_cmd(uint8_t cmd)
{
    uint8_t status;
	
    SPI_ENABLE(); //Select chip
    status = SPI_TRANSFER(cmd);
    SPI_DISABLE(); //Deselect chip
    
    return(status);
}
Ejemplo n.º 2
0
//Sends one byte command
uint8_t spi_send_cmd(uint8_t cmd)
{
    uint8_t status;
	
    SPI_ENABLE(); //Select chip
    status = spi_rw_byte(cmd);
    SPI_DISABLE(); //Deselect chip
    
    return(status);
}
Ejemplo n.º 3
0
void
__cc2420_arch_init(void)
{
  SFIOR |= BV(PUD);		/* Beware, disable all pull-ups. */

  spi_init();

  DDRB  |= BV(RESET_N) | BV(VREG_EN) | BV(CSN);
  PORTB |= BV(RESET_N) | BV(CSN);

  SPI_DISABLE();                /* Unselect radio. */
}
Ejemplo n.º 4
0
/** \brief  This function reads data from one of the radio transceiver's registers.
 *
 *  \param  address Register address to read from. See datasheet for register
 *                  map.
 *
 *  \see Look at the at86rf230_registermap.h file for register address definitions.
 *
 *  \returns The actual value of the read register.
 */
inline uint8_t
spi_register_read(uint8_t address)
{
    uint8_t register_value;

    //SPI_READ_REG(address, register_value);         
    SPI_ENABLE();		
    SPI_WRITE(address);	
    register_value = (uint8_t)SPI_TRANSFER(0);	
    SPI_DISABLE();		

    return register_value;
}
Ejemplo n.º 5
0
//write buffer
uint8_t spi_write_buf(uint8_t cmd, uint8_t* const data, uint16_t size)
{
    uint8_t status =0;
    uint8_t* pdata = data;
    uint8_t i = 0;
	
    SPI_ENABLE(); //Select chip
    status = spi_rw_byte(cmd);    //write tx payload
    
    for(i = 0 ; i < size; i++)
    {        
        printf("0x%x,",*pdata);
        spi_rw_byte(*pdata++);                        
    }

    SPI_DISABLE(); //Deselect chip

    return status;
}