Inhaltsverzeichnis:

STM32F407VET6 Blackboard und MicroPython - Gunook
STM32F407VET6 Blackboard und MicroPython - Gunook

Video: STM32F407VET6 Blackboard und MicroPython - Gunook

Video: STM32F407VET6 Blackboard und MicroPython - Gunook
Video: Embedded Programming with µPython - Mike Meyer: OKC Python 2024, November
Anonim
STM32F407VET6 Blackboard und MicroPython
STM32F407VET6 Blackboard und MicroPython

EINLEITUNG

Ich bin auf ein billiges STM32F407-Board von AliExpress gestoßen

Ich beschloss, es mit MicroPython auszuprobieren.

STM32F407 so ziemlich der gleiche Controller wie STM32F405, der in verwendet wird

Original-Pyboard, aber es stellte sich heraus, dass auf der MicroPython-Download-Seite eine DFU-Datei für das STM32F407-Discovery-Board vorhanden ist. Diese Datei habe ich auf dem Blackboard ausprobiert und sie funktionierte ziemlich gut, mit Ausnahme einiger Funktionen prom 'pyb'-Bibliothek.

Daher ist es besser, so viel wie möglich die 'Maschinen'-Bibliothek zu verwenden.

Wenn Sie nicht ein paar Wochen warten möchten, bis die Tafel eintrifft, bestellen Sie die Original-Entdeckungstafel, die jedoch doppelt so teuer ist.

Es gibt auch eine Anleitung zur Installation von MicroPython auf STM32F4Discovery.

Lieferungen

STM32F407VET6 Entwicklungstafel

Schritt 1: SOFTWARE

Laden Sie die DFU-Datei für das STM32F4 Discovery-Board herunter. Laden Sie das DfuSe USB-Geräte-Firmware-Upgrade-Tool von der STMicroelectronics-Website herunter. Dazu müssen Sie ein kostenloses Konto registrieren. Installieren Sie das DfuSe-Tool auf Ihrem Computer.

Schritt 2: MACHEN SIE DAS BOARD BEREIT

MACHEN SIE DAS BRETT BEREIT
MACHEN SIE DAS BRETT BEREIT

Auf der Platine befinden sich zwei Jumper, die die Pins BT0 und BT1 mit GND verbinden. Stellen Sie BT0 auf 3,3 V (siehe Bild). Öffnen Sie das Tool „DfuSe Demonstration“und schließen Sie das Board an USB an. Sie sollten in der oberen linken Ecke das Feld ''STM-Gerät im USB-Modus'' sehen, dann unten rechts auf ''AUSWÄHLEN'' klicken, die heruntergeladene DFU-Datei auswählen und auf ''UPGRADE'' klicken. Stecken Sie den BT0-Jumper zurück auf GND und schließen Sie das USB-Kabel wieder an. PYBFLASH grive sollte in Ihrem Dateisystem erscheinen. Sie können das originale MicroPython-PDF "Die Pflege und Fütterung von Pythons im Zoo von Redmond" lesen.

Schritt 3: PROGRAMMIERUNG STARTEN

Jetzt können Sie mit MicroPython Spaß haben. Sie können Ihr Programm in jedem Texteditor schreiben, sogar in Windows Notepad. Ich bevorzuge die originale Pyton 3 IDE. Öffnen Sie das PYBFLASH-Laufwerk und öffnen Sie main.py davon in Ihrem Texteditor. Beginnen wir mit einem einfachen LED-Blinkprogramm. Auf der Platine befinden sich zwei LEDs mit der Bezeichnung D2 und D3, die mit den Pins PA6 und PA7 des Controllers verbunden sind. Schreiben Sie dieses einfache Programm in Ihren Texteditor:

Maschine importieren, Zeit #Micropython-Bibliotheken importieren

led = machine. Pin('A6', machine. Pin. OUT) #Pin PA6 als Ausgang zuweisen

while True: #Endlosschleife

led.low() #LED einschalten

time.sleep(1) #lass die LED eine Sekunde lang leuchten

led.high() #LED ausschalten

time.sleep(1) #lass es für eine Sekunde aus

Speichern Sie die Datei main.py auf Ihrem Board, drücken Sie die Reset-Taste LED D2 sollte zu blinken beginnen. Der beste Weg, das Board zurückzusetzen, ist über die Befehlszeile in REPL. Laden Sie dazu Putty herunter und installieren Sie es. Um Putty zu verwenden, erhalten Sie die COM-Portnummer für das Board von Systemsteuerung>Gerätemanager. Wenn Sie verbunden sind, verwenden Sie die Tastenkombination 'Strg' + 'C', um das laufende Programm zu stoppen, bevor Sie ein neues Programm speichern, und 'STRG' + 'D', um das Board nach dem Speichern eines Programms neu zu starten. Ich habe herausgefunden, dass dies der sicherste Weg ist, MicoPython-Programme zu speichern und neu zu starten, anstatt nur das USB-Kabel zu trennen und wieder anzuschließen (während dieses Vorgangs kann das PYBFLASH-Laufwerk beschädigt werden). Lassen Sie uns nun am Ende die LEDs D2 und D3 abwechselnd und schneller blinken lassen:

Importmaschine, Zeit

led = machine. Pin('A6', machine. Pin. OUT)

led1 = Maschine. Pin('A7', Maschine. Pin. OUT)

während Wahr:

led.low()

time.sleep(0.5)

led.hoch()

time.sleep(0.5)

led1.low()

time.sleep(0.5)

led1.high()

time.sleep(0.5)

PS Weitere Informationen zum STM32F407 Blackboard erhalten Sie auf GitHub und wenn Sie mit Linux vertraut sind, können Sie die DFU-Datei für dieses spezielle Board kompilieren. Das habe ich nicht versucht. Ich habe derzeit keinen Linux-Rechner.

Viel Spaß mit MicroPython!

Empfohlen: