\ from bcm2835-1.25/examples/spi.c \ \ transfer a byte to and from an SPI device require pi-125.fs : spi \ if (!bcm2835_init()) return 1; pi_init \ bcm2835_spi_begin(); pi_spi_begin \ bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST); 1 pi_spi_setBitOrder \ bcm2835_spi_setDataMode(BCM2835_SPI_MODE0); 0 pi_spi_setDataMode \ bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_65536); 0 pi_spi_setClockDivider \ bcm2835_spi_chipSelect(BCM2835_SPI_CS0); 0 pi_spi_chipSelect \ bcm2835_spi_setChipSelectPolarity(BCM2835_SPI_CS0, LOW); 0 0 pi_spi_setChipSelectPolarity \ Send a byte to the slave and simultaneously read a byte back from the slave \ If you tie MISO to MOSI, you should read back what was sent \ \ uint8_t data = bcm2835_spi_transfer(0x23); \ printf("Read from SPI: %02X\n", data); 35 pi_spi_transfer . \ bcm2835_spi_end(); pi_spi_end \ bcm2835_close(); pi_close ;