Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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. | |
Private Member Functions | |
MBED_DEPRECATED ("Invalid copy construction of a NonCopyable resource.") NonCopyable(const NonCopyable &) | |
NonCopyable copy constructor. | |
MBED_DEPRECATED ("Invalid copy assignment of a NonCopyable resource.") NonCopyable &operator | |
NonCopyable copy assignment operator. |
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 | ||
) |
Member Function Documentation
void format | ( | int | bits, |
int | mode = 0 |
||
) |
Configure the data transmission format.
- Parameters:
-
bits Number of bits per SPI frame (4 - 16) mode Clock 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:
-
hz SCLK 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:
-
value the data to be transmitted next
Definition at line 52 of file SPISlave.cpp.
Generated on Tue Jul 12 2022 12:22:54 by
