Looking at the function
uint8_t bcm2835_spi_transfer ( uint8_t value)
(http://www.open.com.au/mikem/bcm2835/group__spi.html#ga06884e9cd71dfe380f846b09f47b7248),
then it writes 8 bit data byte to MOSI
- Code: Select all
// Writes (and reads) a single byte to SPI
uint8_t bcm2835_spi_transfer(uint8_t value)
{
volatile uint32_t* paddr = spi0 + BCM2835_SPI0_CS/4;
volatile uint32_t* fifo = spi0 + BCM2835_SPI0_FIFO/4;
.....
// Write to FIFO, no barrier
bcm2835_peri_write_nb(fifo, value);
where
- Code: Select all
// write to peripheral without the write barrier
void bcm2835_peri_write_nb(volatile uint32_t* paddr, uint32_t value)
{
if (debug)
{
printf("bcm2835_peri_write_nb paddr %08X, value %08X\n",
(unsigned) paddr, value);
}
else
{
*paddr = value;
}
}
- Code: Select all
uint16_t bcm2835_spi_transfer(uint16_t value)
Any suggestions?
Thanks. Regards, Arjan