mbed official / mbed Featured

The official mbed C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

Embed: (wiki syntax)

« Back to documentation index

SPISlave Class Reference

SPISlave Class Reference
[Drivers]

A SPI slave, used for communicating with a SPI Master device. More...

#include <SPISlave.h>

Inherits NonCopyable< SPISlave >.

Public Member Functions

 SPISlave (PinName mosi, PinName miso, PinName sclk, PinName ssel)
 Create a SPI slave connected to the specified pins.
void format (int bits, int mode=0)
 Configure the data transmission format.
void frequency (int hz=1000000)
 Set the spi bus clock frequency.
int receive (void)
 Polls the SPI to see if data has been received.
int read (void)
 Retrieve data from receive buffer as slave.
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.

Detailed Description

A SPI slave, used for communicating with a SPI Master device.

The default format is set to 8-bits, mode 0, and a clock frequency of 1MHz

Note:
Synchronization level: Not protected

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
         }
     }
 }

Definition at line 56 of file SPISlave.h.


Constructor & Destructor Documentation

SPISlave ( PinName  mosi,
PinName  miso,
PinName  sclk,
PinName  ssel 
)

Create a SPI slave connected to the specified pins.

mosi or miso can be specfied as NC if not used

Parameters:
mosiSPI Master Out, Slave In pin
misoSPI Master In, Slave Out pin
sclkSPI Clock pin
sselSPI chip select pin

Member Function Documentation

void format ( int  bits,
int  mode = 0 
)

Configure the data transmission format.

Parameters:
bitsNumber of bits per SPI frame (4 - 16)
modeClock polarity and phase mode (0 - 3)
 mode | POL PHA
 -----+--------
   0  |  0   0
   1  |  0   1
   2  |  1   0
   3  |  1   1
void frequency ( int  hz = 1000000 )

Set the spi bus clock frequency.

Parameters:
hzSCLK frequency in hz (default = 1MHz)
int read ( void   )

Retrieve data from receive buffer as slave.

Returns:
the data in the receive buffer
int receive ( void   )

Polls the SPI to see if data has been received.

Returns:
0 if no data, 1 otherwise
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.

Parameters:
valuethe data to be transmitted next