Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| microcontrollertechnik:tipps_fuers_programmieren [2020/05/25 13:48] – tfischer | microcontrollertechnik:tipps_fuers_programmieren [2025/05/19 18:42] (aktuell) – [Häufige Fehler und Debugging] mexleadmin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Tipps fürs Programmieren ====== | ====== Tipps fürs Programmieren ====== | ||
| - | ===== Hinweise für die Programmierung | + | |
| + | * Sofern es sich um eine Aufgabe mit Hardware-Software-Co-Design handelt, kann mit der Erstellung der Software bzw. der Softwaresystem-Entwicklung bereits parallel zur Schaltplan-Erstellung bzw. direkt danach begonnen werden. | ||
| + | * Machen Sie sich dazu zunächst Gedanken, | ||
| + | * **was** | ||
| + | * und in **welcher Abfolge** | ||
| + | * Dann können Sie sich überlegen, | ||
| + | * wie diese einzelnen Tätigkeiten **C-Funktionen** | ||
| + | * wie die C-Funktionen voneinander abhängen, | ||
| + | * welche Schnittstellen die C-Funktionen untereinander benötigen, (Datentyp, Wertebereich, | ||
| + | * **Erst dann sollten Sie überlegen wie der Code aussieht**. Hier hilft ein Blick in die Datenblätter und Application Notes der µController und Chips. Dort sind nicht selten Algorithmen oder Codeschnipsel vorgegeben. | ||
| + | |||
| + | ===== Software System Design ===== | ||
| + | Falls Sie noch nicht wissen, wie die Software oder die zu verwende Hardware genau genutzt wird, sollten folgende Tipps helfen: | ||
| + | * Suchen Sie die Komponente nicht (nur) auf deutsch. Die Ergebnisse vermehren sich um ein Vielfaches, wenn in Englisch gesucht wird. Zur Übersetzung empfiehlt sich [[https:// | ||
| + | * Nutzen Sie auch die Bildersuche, | ||
| + | * Bei unklaren Begriffen, bieten sich auch folgende Suchworte an: // '' | ||
| + | |||
| + | ===== Vorgaben für Bewertung | ||
| Die [[vorgaben_fuer_die_softwareentwicklung|Vorgaben für die Programmierung]] enthalten Hinweise, wie der abgegebene Code aussehen soll. | Die [[vorgaben_fuer_die_softwareentwicklung|Vorgaben für die Programmierung]] enthalten Hinweise, wie der abgegebene Code aussehen soll. | ||
| - | ===== häufige | + | ===== Häufige |
| - | * Tipps zum Debugging und zu häufigen Fehlern finden sich bei den [[elektronik_labor: | + | * Tipps zum Debugging und zu häufigen Fehlern finden sich bei den [[microcontrollertechnik: |
| * Versuchen Sie möglichst nach jeder kleinen Änderung Ihr Programm zu testen. Wenn Sie drei Punkte ändern und dann erst testen, dann wissen Sie nicht, an welcher Änderung es liegt! | * Versuchen Sie möglichst nach jeder kleinen Änderung Ihr Programm zu testen. Wenn Sie drei Punkte ändern und dann erst testen, dann wissen Sie nicht, an welcher Änderung es liegt! | ||
| - | *{{ :: | + | *{{ microcontrollertechnik: |
| + | ler}} | ||
| ===== Allgemeines ===== | ===== Allgemeines ===== | ||
| * Eine schöne Einführung in die Embedded Softwareentwicklung ist im Buch [[https:// | * Eine schöne Einführung in die Embedded Softwareentwicklung ist im Buch [[https:// | ||
| - | * Zum Programmieren muss die Hardware noch nicht vollständig sein. Wenn Sie einen Mikrocontroller der ATmega Familie nutzen wollen, so können Sie z.B. mit dem MiniMEXLE bereits Software entwickeln und testen. | + | * Zum Programmieren muss die Hardware noch nicht vollständig sein. Wenn Sie einen Mikrocontroller der ATmega Familie nutzen wollen, so können Sie z.B. mit dem MiniMEXLE, MEXLE2020 oder Simulide |
| * Tipps für die {{ : | * Tipps für die {{ : | ||
| * Falls Sie lange Tabellen benötigen, sollten Sie die Daten im Programmspeicher (EEPROM) und nicht im Datenspeicher (SRAM) ablegen. In der Regel ist der Programmspeicher um den Faktor 5..10 größer | * Falls Sie lange Tabellen benötigen, sollten Sie die Daten im Programmspeicher (EEPROM) und nicht im Datenspeicher (SRAM) ablegen. In der Regel ist der Programmspeicher um den Faktor 5..10 größer | ||
| Zeile 26: | Zeile 44: | ||
| ===== Programmierung des ST7565 im Display ERC 128 64 - 1 ===== | ===== Programmierung des ST7565 im Display ERC 128 64 - 1 ===== | ||
| - | * Das Display {{ :: | + | * Das Display {{ laborausstattung: |
| - | * Je 8bit vertikal sind im {{ ::st7565.pdf |ST7565}} in einem Byte gespeichert. | + | * Je 8bit vertikal sind im {{ grundlagen_der_digitaltechnik:st7565.pdf |ST7565}} in einem Byte gespeichert. |
| * Die Kommandos, welche über SPI genutzt werden können, sind im Datasheet beschrieben. | * Die Kommandos, welche über SPI genutzt werden können, sind im Datasheet beschrieben. | ||
| * Über SPI kann nur auf das Display geschrieben werden. Ein Lesen ist nicht möglich. | * Über SPI kann nur auf das Display geschrieben werden. Ein Lesen ist nicht möglich. | ||
| Zeile 40: | Zeile 58: | ||
| * Für eine zeitkritische Ausgabe von aufeinanderfolgenden Bits (z.B. für die Ansteuerung von [[elektronik_labor: | * Für eine zeitkritische Ausgabe von aufeinanderfolgenden Bits (z.B. für die Ansteuerung von [[elektronik_labor: | ||
| * Falls Sie einen externen Oszillator oder Quarz benutzen, werden zwei Ports dafür verwendet (Ports XTAL = " | * Falls Sie einen externen Oszillator oder Quarz benutzen, werden zwei Ports dafür verwendet (Ports XTAL = " | ||
| + | |||
| + | ====== Simulide ====== | ||
| + | ===== Schrittmotortreiber ===== | ||
| + | |||
| + | Verschiedene Schrittmotortreiber bzw. Steppermotor Driver (wie z.B. [[https:// | ||
| + | Folgende Simulation ermöglicht aber zumindest die Nachbildung | ||
| + | {{microcontrollertechnik: | ||
| + | |||
| + | |||
| + | |||
| + | |||