API #
Knižnica pyb obsahuje pre obsluhu sériového rozhrania triedu SPI. Signál NSS pre výber nie je v knižnici pyb štandardne aktivovaný, je potrebné ho ovládať samostatne prostredníctvom triedy pyb.Pin.
Inicializácia #
SPI.init(mode, baudrate=328125, *, prescaler=-1,
polarity=1, phase=0, bits=8, firstbit=SPI.MSB,
ti=False, crc=None)
SPI.deinit()
mode
SPI.CONTROLLER
SPI.PERIPHERAL
firstbit
SPI.LSB
SPI.MSB
Funkcie #
SPI.recv(recv, *, timeout=5000)
SPI.send(send, *, timeout=5000)
SPI.send_recv(send, recv=None, *, timeout=5000)
Príklad inicializácie a vyslania 1 Byte
from pyb import SPI
# inicializacia
pin = Pin('PB1', Pin.OUT)
spi = SPI(2, SPI.CONTROLLER, baudrate=100000, polarity=0, phase=0, crc=None)
# vyslanie jedneho byte
pin.value(False)
spi.send(0x12)
pin.value(True)
Poznámka
Rozhranie SPI1 na doske NUCLE-64 nie je štandardne pripojené ku pinom konektora Arduino-UNO.
Pomocou funkcie alternatívnych pinov možeme pripojenie rozhrania rekonfigurovať.
>>> p=Pin('PA7')
>>> p.af_list()
[Pin.AF1_TIM1, Pin.AF2_TIM3, Pin.AF3_TIM8, Pin.AF5_SPI1, Pin.AF14_TIM17]
pp = Pin('PA7', mode=Pin.ALT, alt=Pin.AF5_SPI1)
TODO - prepojenie MCU v móde MASTER-SLAVE