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/28 17:17] – tfischer | microcontrollertechnik:tipps_fuers_programmieren [2025/03/12 01:25] (aktuell) – [Tipps fürs Programmieren] 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 ===== | ||
Zeile 15: | Zeile 25: | ||
* 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: | ||
* 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: |
===== 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 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 47: | 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: | ||
+ | |||
+ | |||
+ | |||
+ | |||