www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie ANSI C Programm planen


Autor: Marco Blom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
wie plant ihr eigentlich Software für den Embedded Bereich? Das man für 
C++ (also Objektorientiertes programmieren) UML verwendet ist mir klar, 
nur wie macht man das für das stink normal ANSI C? Kennt ihr da gute 
(möglichst freie) Software oder Bücher/Internetseiten?

Gruss

Marco

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zettel und Stift...soll es auf einem Schreibtisch geben....hab ich mal 
gehört ;)

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde folgenden Ablauf für die Programmplanung vorschlagen:

- "Lastenheft" schreiben (auf Papier), d.h. festlegen was wie, wann und 
in welcher Form rein und raus kommt, und was das Programm überhaupt 
alles machen soll. Also ein vollständiger Überblick über das externe 
Verhalten deines Programms/µCs

- Zustandsdiagramm und Flussdiagramm entwerfen (auf Papier)

- Aufteilung in Funktionen, mit Festlegung der Funktionsprototyen mit 
Datentypen und dem gewünschten Verhalten der einzelnen Funktionen sowohl 
im Regel- als auch im Fehlerfall (evtl. nochmal Fluss- und/oder 
Zustandsdiagramm für jede Funktion). Bei µC solltest Du ab hier schon 
auf das Einpassen deiner Logig in die vorhandenen Ressourcen (Register, 
Zähler, I/O-Ports, verwendung passender Datentypen, etc.) achten, damit 
Du alles unterbringst. (alles immer noch auf Papier)

- Wenn Du es ganz amtlich machen willst definierst Du zu jeder Funktion 
noch einen Test. Das ist ein kleines Script das die Funktion mit 
typischen Eingabewerten innerhalb und außerhalb des definierten 
Bereiches füttert, und die Rückgabe des korrekten Ergebnisses bzw. der 
korrekten Fehlermeldung überprüft. Ich gah mal nicht ins Detail, da 
gibts massenweise Literatur dazu.

Wenn Du die Planung hast ist das Schlimmste eigentlich überstanden.

- Jetzt schmeißt du vi oder den Editor deiner Wahl an. Am besten 
schreibst Du zuerst die Tests (wenn Du welche machst), und dann kannst 
Du die Funktionen der Reihe nach schreiben. main() zuletzt. Da Du alles 
detailliert geplant hast sollten in dieser Phase keine großen 
Überlegungen mehr nötig sein, Du übersetzt einfach deine Flussdiagramme 
in gültiges ANSI-C bzw den C-Dialekt für deinen µC.

- Und am Schluss steht natürlich wie überall das Debuggen im Emulator 
und schließlich der Upload in den µC.

Bei ganz einfachen Programmen kannst Du natürlich einen oder mehrere der 
anfänglichen Planungsschritte auch im Kopf machen.

Viel Erfolg.

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
< Wenn Du die Planung hast ist das Schlimmste eigentlich überstanden.>

Und wenn du hier angekommen bist, hast du die notwendigen Informationen 
um den passenden µC auszuwählen.

Autor: DerSchelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal unter "V-Modell". Ist gar nicht schlecht.

Markus hat übrigens recht damit, Tests früh einplanen. Es hilft immens! 
Wollte ich noch mal betonen, damit es nicht untergeht. Hier tue ich mich 
übrigens sehr schwer, ich denke, ich werde da mal einen Thread 
aufmachen.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> < Wenn Du die Planung hast ist das Schlimmste eigentlich überstanden.>

>Und wenn du hier angekommen bist, hast du die notwendigen Informationen
>um den passenden µC auszuwählen.

Ok, ich bin von einem festgelegten µC ausgegeangen, für den ein Programm 
geschrieben werden soll. Aber Du hast recht, wenn erst das Programm 
definiert wurde ist an dieser Stelle der Zeitpunkt gekommen um den 
richtigen µC auszuwählen

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.