mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Erfahrungen mit CodeVisionAVR


Autor: Lutz Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, vor 3 Monaten hat ein Versuch mit der Brechstange, WinAVR in 5
Minuten zu begreifen, logischerweise nicht funktioniert. Nach dem
Urlaub will ich mich nun wieder gaaanz langsam an die AVR´s ranwagen,
wobei sich wieder die Frage nach den "richtigen" Tools stellt, da ich
nicht 5 mal mit irgendwas anfangen und dann wieder abbrechen will. Auch
das alte Problem, 50 % der Zeit mit den Tools selbst zu verbringen,
spielt da natürlich rein. Nun habe ich per Google CodeVisionAVR
gefunden, wo eine größenlimitierte kostenlose Version (ähnlich wie
BASCOM?) angeboten wird. Hat jemand damit schon Erfahrungen?
Noch eine andere Frage: Ich will als erstes "Projekt" eine
Saunasteuerung basteln. Wenn ich nun einen Menüpunkt Marke "Wenn Taste
x gedrückt, Untermenü y aufrufen" einbaue, dann läuft ja die Regelung
nicht mehr (z.B. "prüfe alle 30 Sekunden Temperatur und schalte anhand
der eingelesenen Werte EIN oder AUS"). Muß ich nun Multitasking machen,
um das Problem zu lösen? => Dann wird#s wohl doch nicht mein erstes
"Projekt".

Danke und Gruß

Lutz

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe bald ein Ähnliches Projekt vor. Ich denke die Temperatur kann
man am besten per Timerinterrupt in bestimmten Intervallen abfragen.

Gruß, Dominik

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Compiler CodeVisionAVR ist ganz gut. Allerdings solltest du wissen
was der AVR macht bzw. machen soll. Assemblerkenntnisse sind hier sehr
von Vorteil, zumal auch hier im Compiler immer wieder kleinere
Assembler-Einlagen benötigt werden. Für den Einstieg finde ich das
recht schwer wenn man ansonsten gar keine Ahnung von Mikrocontrollern
hat. Assembler wäre hier besser. Saunasteuerung kann auch nicht allzu
kompliziert sein (?), von daher empfehle ich zum lernen und einsteigen
eher mal Assembler.

Zum Menü: Taster lösen Interrupt aus und der AVR arbeitet den
entsprechenden Code ab. Temperatur alle paar Sekunden messen sollte
reichen. Timerinterrupt ist hier okay. Die  restliche Zeit dann
irgendeinen Sleep-Mode verwenden. Spart Strom.Immer gut.

Autor: Lutz Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

Assembler habe ich mir in der Theorie (welche ja die Praxis leider nie
ersetzen kann) schon angeschaut. Bin ich auch gut mit Zurecht gekommen,
bis zu dem Zeitpunkt, als das Thema "Rechnen in Assembler" kam, da
hatte ich dann gar keine Lust mehr auf Assembler. Das war mir dann doch
zu aufwändig, wenn es in C doch so viel einfacher ist, 7,3 x 8,4 zu
rechnen.
Aber grundsätzlich wollte ich auch in C möglichst viele Bitoperationen
wie in Assembler machen, also nicht "wdt_enable(500MS)" (oder so
ähnlich), sondern lieber die ganzen Bits "zu fuß" setzen. Wenn es
Assembler mit "Inline-C" geben würde, wäre das wahrscheinlich meine
Wahl.
Meine Frage im ersten Posting zielte aber eher darauf ab: Ich habe ja
irgendeine Schleife, in der die Regelung läuft. Nun will ich in einem
Unterprogramm aber eine neue Zieltemperatur eingeben und muß deshalb
die Schleife verlassen. Bei der Wartezeit, bis die neue Zieltemperatur
eingegeben ist, findet also keine Regelung mehr statt. Dort liegt mein
Problem.

Gruß

Lutz

Autor: Elmar Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lutz,
ich arbeite schon etwa länger mit dem CodeVision und das klappt
recht gut.
Mit diesem Compiler kannst du auch gezielt Bit´s setzen oder löschen.
Wenn es sein muss geht auch Assembler !!
Per Interrupt ob Timer oder Bit I/O kannst du auch deine Regelschleife
kurz unterbrechen um einen neuen Wert zu holen.
Du mußt halt nur dafür sorgen, daß die Interrupt-Routine
nicht ewig auf Eingaben wartet sonst geht natürlich deine
Regelung nicht mehr.

Gruß
Elmar

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.