Mistake on this page?
Report an issue in GitHub or email us

SPISlave

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)
void format (int bits, int mode=0)
void frequency (int hz=1000000)
int receive (void)
int read (void)
void reply (int value)
Protected Attributes
spi_t _spi
int _bits
int _mode
int _hz

SPISlave example

Reply to a SPI master as slave:

#include "mbed.h"

SPISlave device(p5, p6, p7, p8); // 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
       }
   }
}
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.