Aus Raspberry Pi Geek 09/2024

MicroPython (Teil 4): Unterstützung für I2C, SPI und UART (Seite 3)

Listing 4

spi.py

from machine import Pin, SPI
from time import sleep
spi = SPI(0, sck=Pin(2), mosi=Pin(3), miso=Pin(4), baudrate=100000)
cs = Pin(5, Pin.OUT)
cs.value(1) # sperren
cs.value(0) # freigeben
buffer_out=bytearray([0x01, 0x80, 0x00]) # Kanal 1 single
buffer_in=bytearray(3)
spi.write_readinto(buffer_out, buffer_in )
cs.value(1) # sperren
print(((buffer_in[1] & 0x03) << 8) | buffer_in[2])

UART-Testprogramm

Die seriellen Schnittstellen des Pi Pico lassen sich testen, indem man sie über Kreuz miteinander verbindet. Dadurch landen die von einer Schnittstelle gesendeten Daten im Eingangspuffer der anderen.

Wie Listing 5 zeigt, konfigurieren Sie die beiden seriellen Schnittstellen in den Zeilen 3 und 4 analog. Dabei geben Sie die GPIO-Pins und die Datenübertragungsparameter der Schnittstelle an. Danach wird über serial0 eine Nachricht versendet (Zeile 6). Sie lässt sich danach wieder aus dem Puffer von serial1 auslesen (Zeile 9). Die Kommunikation funktioniert genauso in die entgegengesetzte Richtung.

Listing 5

uart.py

from machine import UART, Pin
from time import sleep
serial0 = UART(0, baudrate=115200, tx=Pin(12), rx=Pin(13), bits=8, parity=None, stop=1)
serial1 = UART(1, baudrate=115200, tx=Pin(8), rx=Pin(9), bits=8, parity=None, stop=1)
send = 'Ei Gude, wie?'
serial0.write(send)
print('Daten gesendet:', send)
sleep(0.1)
receive = serial1.readline()
print('Daten empfangen:', receive.decode('utf-8'))

Fazit

Hinter Mpremote verbirgt sich eine schnelle und robuste Alternative zu den IDEs, die üblicherweise zur MicroPython-Programmierung Verwendung finden. Die Bedienung geht einfach von der Hand, Sie verwenden den Texteditor Ihrer Wahl. Darüber hinaus schont Mpremote den Flash-Speicher des Mikrocontrollers.

MicroPython unterstützt die üblichen Schnittstellen in vollem Umfang, alles funktioniert wie erwartet. Für Halbleiter, die ein etwas komplexeres Zugriffsverfahren erfordern, gibt es im Internet meist eine passende Bibliothek. Sollte tatsächlich einmal etwas fehlen, implementieren Sie mit MicroPython kurzerhand selbst eine Lösung. (csi)

Der Autor

Martin Mohr hat die komplette Entwicklung der modernen Computertechnik live miterlebt. Nach dem Studium entwickelte er überwiegend Java-Applikationen. Mit dem Raspberry Pi erwachte seine alte Liebe zur Elektronik wieder.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben