spi.py 773 B

123456789101112131415161718192021222324252627282930313233
  1. from pyb import SPI
  2. # test we can correctly create by id or name
  3. for bus in (-1, 0, 1, 2, 3, "X", "Y", "Z"):
  4. try:
  5. SPI(bus)
  6. print("SPI", bus)
  7. except ValueError:
  8. print("ValueError", bus)
  9. spi = SPI(1)
  10. print(spi)
  11. spi = SPI(1, SPI.MASTER)
  12. spi = SPI(1, SPI.MASTER, baudrate=500000)
  13. spi = SPI(1, SPI.MASTER, 500000, polarity=1, phase=0, bits=8, firstbit=SPI.MSB, ti=False, crc=None)
  14. print(spi)
  15. spi.init(SPI.SLAVE, phase=1)
  16. print(spi)
  17. try:
  18. # need to flush input before we get an error (error is what we want to test)
  19. for i in range(10):
  20. spi.recv(1, timeout=100)
  21. except OSError:
  22. print("OSError")
  23. spi.init(SPI.MASTER)
  24. spi.send(1, timeout=100)
  25. print(spi.recv(1, timeout=100))
  26. print(spi.send_recv(1, timeout=100))
  27. spi.deinit()