Skip to content
Boris Lovosevic edited this page Mar 3, 2018 · 8 revisions

Editing in progress...

machine Module

Class SPI


This class includes full support for using ESP32 SPI peripheral in master mode



Create the SPI instance object

spi = machine.spi(spihost, baudrate, polarity, phase, firstbit, sck, mosi, miso, cs, duplex)

Argument Description
spihost The hardware SPI host
machine-SPI-HSPI (1) or machine.SPI.VSPI (2) can be used
Default: 1
baudrate SPI clock speed in Hz; Default: 1000000
polarity SPI polarity; 0 or `1; Default: 0
phase SPI phase; 0 or 1; Default: 0
polarity & phase defines the SPI operating mode: mode = (polarity<<1) + phase
firstbit Send MSB or LSB bit first; default: MSB
use constants machine.SPI.MSB or machine.SPI.LSB
sck SPI SCK pin; Can be entered as integer pin number or machine.Pin object
moosi SPI MISI pin; Can be entered as integer pin number or machine.Pin object
miso SPI MISO pin; Can be entered as integer pin number or machine.Pin object
cs Optional; SPI CS pin; Can be entered as integer pin number or machine.Pin object.
If set, CS activation and deactivation is handled by the driver, if not set, SPI select and deselect must be handled by user
duplex Select wether SPI operates in fullduplex or halfduplex mode
In fullduplex mode SPI writes and reads data at the same time
In halfduplex mode SPI writes data first, then reads data
Default: True

Only sck, mosi and miso are required, all the other arguments are optional and will be set to the default values if not given.

Clone this wiki locally