Wait Alternativen mein code wird zu groß

Matthiasab64

Mitglied
21. Feb. 2012
82
0
6
Brandenburg an der Havel, de
Sprachen
  1. BascomAVR
Hallo,

ich habe ein Projekt angefangen, bei dem ich mit einem Atmega32 ein Ht1632c ansteuere. Das funktioniert soweit ganz gut, nur benutze ich den LED-Matrix-Controller nicht für eine Lautschrift sondern für die Simulation einer großen Industrie-Anlage. Das heißt die Anlage wurde zurück gebaut und die LED Anzeigentafel soll jetzt ein Abschiedsgeschenk für einen Kollegen werden.
Zum eigentlichen Problem. Das Programm wird durch die simulierten Abläufe , Zylinder Grund- und Arbeitstellungen, LEDs für jede Zylinder Bewegung usw. , sehr groß. Und ich habe zig wait und waitms Befehle um den Ablauf zeitlich anzupassen.
Gibt es Möglichkeiten oder wird der Code kleiner wenn ich statt wait etwas anderes nutze?

Gruss Matthias
 
Hallo Matthias,

daß das an wait/waitms/waitus liegt, kann ich mir ehrlich gesagt nicht vorstellen.
Der Mega32 verfügt über 32kB Flash.
Die Zeitvernichtungsschleifen werden meiner Meinung nach wie Subroutinen umgesetzt, der Code wird mit jeder weiteren Warteschleife nimmt der Code nur unwesentlich zu, da derselbe Code angesprungen wird.
Salopp gesagt erzeugt waitms x 'ne Schleife, die 'ne Millisekunde Zeit benötigt. Beim Aufruf wird das x in einen Zähler geladen und der Schleife aufgerufen. Diese dekrementiert bei jedem Durchlauf den Zähler, ist er Null, terminiert sie.
Die Schleife selbst steht nur einmal im Code.

Hast Du die Bascom-Vollversion, oder nutzt Du die kostenlose Demoversion? Die ist nämlich auf einen maximalen Code von 4kB beschränkt, kann also nur ein achtel des Mega32 beschreiben.

(32kB vollzuprogrammieren ist schon heftig - sofern man nicht massiv Konstanten im Flash hat (Strings zB))
 
Hey

lange nix gehört von dir

Ja leider ist es tatsächlich das Problem der 4K Grenze in der Demo , aber ich selbst hab nie so große Codes gebraucht und für das eine Projekt 108€ auszugeben ist nicht Sinn der sache. Hab jetzt angefangen c zu erlernen, da es ja da keine Begrenzung in den gebotenen Compiler gibt. Problematisch ist nur das ich nur noch 5 Wochen Zeit hab. Grob weiß ich schon wie ich in c vorgehen müsste aber die Kommunikation mit den vielen subs is noch n Problem .
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)