Files
python-microbit/microbit/spi.py
Jan Lerking 91bc7878f2 Update. /JL
2025-04-09 06:23:45 +02:00

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