52 lines
2.1 KiB
Python
52 lines
2.1 KiB
Python
from microbit import pin13, pin15, pin14
|
|
#SPI
|
|
|
|
""" The SPI module lets you talk to a device connected to your board using a serial
|
|
peripheral interface (SPI) bus. SPI uses a so-called master-slave architecture with
|
|
a single master. You will need to specify the connections for three signals:
|
|
|
|
SCLK : Serial Clock (output from master).
|
|
MOSI : Master Output, Slave Input (output from master).
|
|
MISO : Master Input, Slave Output (output from slave). """
|
|
|
|
#Functions
|
|
|
|
def init(baudrate=1000000, bits=8, mode=0, sclk=pin13, mosi=pin15, miso=pin14):
|
|
""" Initialize SPI communication with the specified parameters on the specified pins.
|
|
Note that for correct communication, the parameters have to be the same on both
|
|
communicating devices.
|
|
|
|
The baudrate defines the speed of communication.
|
|
|
|
The bits defines the size of bytes being transmitted. Currently only bits=8 is
|
|
supported. However, this may change in the future.
|
|
|
|
The mode determines the combination of clock polarity and phase according to the
|
|
following convention, with polarity as the high order bit and phase as the low
|
|
order bit:
|
|
SPI Mode Polarity (CPOL) Phase (CPHA)
|
|
0 0 0
|
|
1 0 1
|
|
2 1 0
|
|
3 1 1
|
|
|
|
Polarity (aka CPOL) 0 means that the clock is at logic value 0 when idle and goes high
|
|
(logic value 1) when active; polarity 1 means the clock is at logic value 1 when idle
|
|
and goes low (logic value 0) when active. Phase (aka CPHA) 0 means that data is sampled
|
|
on the leading edge of the clock, and 1 means on the trailing edge
|
|
(viz. https://en.wikipedia.org/wiki/Signal_edge).
|
|
|
|
The sclk, mosi and miso arguments specify the pins to use for each type of signal. """
|
|
pass
|
|
def read(nbytes):
|
|
""" Read at most nbytes. Returns what was read. """
|
|
pass
|
|
|
|
def write(buffer):
|
|
""" Write the buffer of bytes to the bus. """
|
|
pass
|
|
|
|
def write_readinto(Out, In):
|
|
""" Write the out buffer to the bus and read any response into the in buffer.
|
|
The length of the buffers should be the same. The buffers can be the same object. """
|
|
pass |