mbed library for NZ32-SC151

Embed: (wiki syntax)

« Back to documentation index

SPISlave Class Reference

SPISlave Class Reference

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

#include <SPISlave.h>

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

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

Definition at line 22 of file SPISlave.cpp.


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

Definition at line 33 of file SPISlave.cpp.

void frequency ( int  hz = 1000000 )

Set the spi bus clock frequency.

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

Definition at line 39 of file SPISlave.cpp.

int read ( void   )

Retrieve data from receive buffer as slave.

Returns:
the data in the receive buffer

Definition at line 48 of file SPISlave.cpp.

int receive ( void   )

Polls the SPI to see if data has been received.

Returns:
0 if no data, 1 otherwise

Definition at line 44 of file SPISlave.cpp.

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

Definition at line 52 of file SPISlave.cpp.