SPISlave
 SPISlave class hierarchy
SPISlave class hierarchy
Use the SPISlave class to communicate with a SPI master device.
The default format is set to 8 bits, mode 0 and a clock frequency of 1MHz. Synchronization level: not protected.
SPISlave class reference
| Public Member Functions | |
| SPISlave (PinName mosi, PinName miso, PinName sclk, PinName ssel) | |
| Create a SPI slave connected to the specified pins.  More... | |
| SPISlave (const spi_pinmap_t &pinmap) | |
| Create a SPI slave connected to the specified pins.  More... | |
| void | format (int bits, int mode=0) | 
| Configure the data transmission format.  More... | |
| void | frequency (int hz=1000000) | 
| Set the SPI bus clock frequency.  More... | |
| int | receive (void) | 
| Polls the SPI to see if data has been received.  More... | |
| int | read (void) | 
| Retrieve data from receive buffer as slave.  More... | |
| void | reply (int value) | 
| Fill the transmission buffer with the value to be written out as slave on the next received message from the master.  More... | |
SPISlave example
/*
 * Copyright (c) 2006-2020 Arm Limited and affiliates.
 * SPDX-License-Identifier: Apache-2.0
 */
#include "mbed.h"
SPISlave device(D12, D11, D13, D10); // mosi, miso, sclk, ssel
int main()
{
    device.reply(0x00);              // Prime SPI with first reply
    while (1) {
        if (device.receive()) {
            int v = device.read();   // Read byte from master
            v = (v + 1) % 0x100;     // Add one to it, modulo 256
            device.reply(v);         // Make this the next reply
        }
    }
}