mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bräuchte Hilfe bei meinem 1. Programm


Autor: Max (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe versucht ein Menü zu schreiben das mit 3 Taster bedient werden
soll.
Es sollen 4 verschiedene Kategorien aufgerufen werden
(Temp.,Beleuchtung,Strom,Ende)
Bei den ersten 3 Kategorien soll dann ein Zustand angezeigt und die
Funktion gesteuert werden.
Z.B Strom --> Lampe ein/aus

Bei Ende soll dann nur die Meldung "Wirklich verlassen ?" kommen

Ein Problem sind schon die Taster. Irgendwie stimmen die Eingaben nicht
richtig.

Danke für alle Vorschläge.
Gruß Max

Autor: Rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gleich vorweg: ich bin ebenfalls Anfänger

Um die Frage zu beantworten sind sicher mehr Informationen notwendig.
Sind die Taster entprellt? Hast Du schon mit Tastern in einer
einfachern Anordnung experimentiert?

Rudi

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ne Gegenfrage: Wie wärs erstmal mit einem einfacheren Projekt?
Ich war erstmal froh, wenn überhaupt mal eine Leuchtdiode an oder aus
ging.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rudi ,

die Taster sollen über Software entprellt werden. (Ich kann mir aber
vorstellen, dass mein Board -STK500- das schon über Hardware macht)

Ich habe ja nur gefragt, da ich wissen will, ob der Ansatz überhaupt
stimmt oder ob man das ganze anders angehen soll...

@thkais    nix für ungut ..aber ich glaube die frage muss ich nicht
beantworten.genau solche antworten wollte ich nicht.  Wenn jeder gleich
aufgibt... wohin kommen wir dann??

Autor: HansHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe dein Programm jetzt nur mal
überpflogen aber :
zB : If Vorvari = 1 Or Vorvari = -3 Then Goto Ausw1

Das „or“ mag Bascom glaube ich nicht  bei IF

immer nur einen Vergleich pro Zeile .

Wie beim Rechnen auch
Nicht  :
a = b + c + d
sondern :
a = b + c
a = a + d

evtl ist auch der  Softwahr- und Hardwarestack ist zu klein eingestellt

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich denek nicht das das stk die entprellng per hardware macht... also
ich bin mir sogar ziemlich sicher das dem nicht so ist. wenn du mal
einen blick in die anleitung wirfst und guckst wie die taster
angeschlossen sind... ich bin mir sicher du wirst dir das mit dem
glauben noch mal überlegen, weil glauben ist nicht wissen. dem µC ist
es sicher ziemlich egal was man glaubt.

Autor: HansHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Debounce Befehle machen aber die
Taster entprellung in Bascom,
und das funktioniert auch !

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HAllo,
Ich habe es jetzt so hinbekommen, dass man alle Menüpunkte aufrufen
kann .
Wenn ich  nun aber mehrere Zeilen mit Text beschreibe, dann fängt die
Schrift an zu flimmern. Wenn ich in einer Kategorie bin , dann muss ich
ja wieder eine neue Schleife hinein schreiben, da hier ein neues Program
m aufgerufen werden soll.
Jetzt flimmert es .
Gibt es eine andere Möglichkeit von einem Programm in ein anderes zu
springen?

Autor: HansHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn das Display flimmert hängt das sicher daran ,
das du immer wieder den selben Text ins Display
schreibst , du refresh das Display also zu oft.

Du solltest z.B. nur alle Sekunde den Inhalt  erneuern  oder
dann wenn der Text sich auch wirklich ändert .

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hans,

danke für den Hinweis das war es. Aber ich habe nun ein weiteres
Problem, da ich mit Bascom  ein Menü schreiben will, dass dan
logischerweise mehr als nur 2 Funktionen beeinhalten.

Ich hatte vor eine Lampe zu steuern und mindestens noch 2
Temperaturfühler einzulesen...Leider funktioniert das nicht, da der
Quelltext zu groß wird.
Gibt es hier eine Möglichkeit in Bascom Menüs zu schreiben, die weniger
TExt benötigen. Eventuell gibts ja schon fertige FUnktionen?

Ich habe dann versucht im AVR STUDIO über ASM ein LCD anzusteuern ,
aber mit einem 2313 hat das noch nincht geklappt. Funktioniert das
überhaupt??

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LCD in ASM funktioniert.

...

Autor: madmax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, Hochsprachen verschlingen ungemein Platz. Um komplexe Programme zu
schreiben sollte man direkt in AVR programmieren.

Autor: HansHans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, 2k des 2313 sind nicht gerade viel für eine Hochsprachen.
Wobei sich dein Programm mit Sicherheit noch optimieren
lässt, aber zugegeben als „Einsteiger“ sich gleich um beides
zu kümmern, also ein Platzsparendes und Funktionsfähiges
Programm hinzubekommen ist nicht ganz einfach .
Ganz klar geht  ASM sparsamer mit dem Speicherplatz um,
aber sicher soll das jetzt nicht wider eine Grundsatzdiskussion
über  ASM ,C oder Basic werden ......

Autor: Quark (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
packe die Menü-Texte, die sich nicht ändern in ein ser. EEprom.
Wenn noch soviel Leitungen frei sind.
Quark

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.