Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
microcontrollertechnik:tipps_fuers_programmieren [2020/05/25 13:03] tfischer [häufige Fehler und Debugging] |
microcontrollertechnik:tipps_fuers_programmieren [2022/04/05 01:21] tfischer ↷ Links angepasst weil Seiten im Wiki verschoben wurden |
||
---|---|---|---|
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 hantdelt, 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 von einander 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 [[elektronik_labor: |
- | ===== Allgemeines ===== | + | |
- | * 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. | + | |
* 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! | ||
*{{ :: | *{{ :: | ||
+ | |||
+ | ===== Allgemeines ===== | ||
+ | * 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, MEXLE2020 oder Simulide bereits Software entwickeln und testen. | ||
* 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 25: | Zeile 43: | ||
===== 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 39: | Zeile 57: | ||
* 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: | ||
+ | |||
+ | |||
+ | |||
+ | |||