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 14:14] – [Software System Design] 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 ====== | ||
| + | |||
| + | * 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 ===== | ===== Software System Design ===== | ||
| Falls Sie noch nicht wissen, wie die Software oder die zu verwende Hardware genau genutzt wird, sollten folgende Tipps helfen:  | 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. Zurt Übersetzung empfiehlt sich [[https:// | + |     * 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, |     * Nutzen Sie auch die Bildersuche, | ||
|     * Bei unklaren Begriffen, bieten sich auch folgende Suchworte an: // '' |     * Bei unklaren Begriffen, bieten sich auch folgende Suchworte an: // '' | ||
| Zeile 13: | Zeile 23: | ||
| ===== Häufige Fehler und Debugging ===== | ===== Häufige Fehler und Debugging ===== | ||
| - |   * 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 33: | 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 47: | 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: | ||
| + | |||
| + | |||
| + | |||
| + | |||