mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wiedergabe-Programme (Rückverfolgung)


Autor: Stefan Weber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo  Leute,

ich soll ein   kleines Anwendungsprogramm "WIEDERGABE" für ein 
Spielzeug(Klavier) meines Sohnes schreiben und bitte hier um  Rat und 
Erfahrungsaustauch.

Nehmen wir als Beispiel einem Board(zb AVR oder ARM) mit LEDs an.
Zuerst  Tippt man auf die Tasten(mit je ein LED verbunden) in einem 
Bestimmten Reihenfolge,als Demonstration. Danach soll das Programm in 
der Lage sein die LEDs in der Vorgegeben  Tast-Reihenfolge zu schalten.

Hat jemand so etwas schon gemacht ?
wie kann man da am besten vorgehen?
welche Betriebsystem ist da zu empfehlen bezügliche welche 
Mikrocontroller? denn vor dem wiedergabemodus muss mann auf dem 
Spielzeug auf OK drücken.

Dankbar für jede Hilfe
lg
Stefan

Autor: Stefan Weber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat keiner Sowas schon gemacht oder eine Idee.

danke

Stefan W.

Autor: Sascha Dürkes (plutoonline)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So gehts
- Eine Schleife die die Tastendrücke abspeichert
- Eine Schleife die das Ganze wieder ausgibt
Wenn die länge (Dauer) und genaue Zeitliche abfolge der Tastendrücke 
noch gespeichert werden soll kommen halt noch Timer ins Spiel.

Autor: Martin Vogel (oldmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Nun ja, ein Atmega8 hat 1k SRAM. Wenn du für dein Programm 100 Bytes 
brauchst, kannst du den Rest unter Rücksicht auf den Stack als Memory 
benutzen.
Erst die benötigten Variablen definieren. Dann eine Tabelle. Es reicht 
eigentlich, diese als Byte zu definieren, damit man die Startadresse für 
den freien Speicher bekommt. Daran denken, der Stack kommt von oben dem 
Variablenberreich entgegen, also genug Platz lassen. Vielleicht reichen 
150 bis 200 gespeicherte Tasten...
Tasten éinlesen, Wert für Taste vergeben , Tabellenstartadresse holen, 
Indexzähler zuaddieren und Wert abspeichern. Index erhöhen, merken. und 
auf die nächste Taste warten.
Abspielroutine wär dann auch wieder mit der Startadresse der Tabelle und 
der Indexvariablen machbar. Entweder merkst du dir die Anzahl der Tasten 
und vergleichst den Index, oder du schreibst ans Ende der Tabelle einen 
Null-Wert, da es ja die Taste "Null" nicht gibt.
Also, so kompliziert ist's glaub ich nicht.
Gruß oldmax

Autor: Stefan Weber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja danke,

welche betriebsystem passt ganz gut mit AVR-µC?
kann das B.Sys. OSEK in einem AVR laufen ?

>>Vielleicht reichen 150 bis 200 gespeicherte Tasten...

 es sind maximal 25 Tasten. wieviel speicher max   kann dafür reichen?

lg
Stefan

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kein betriebssystem. Viel zu viel ressourcenverbrauch und für die 
aufgabe nicht nötig

Autor: Stefan Weber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
ja aber wie soll das system dann  von allein booten . ich hatte mir auch 
gedacht dass ich ein Taskt Wiedergabe erzeugt(wenn mit B. syst),   der 
nach  der manuellen Eingabe mit dem Knopf wiedergeben aktiviert wird.
Denn est ist ja ein eigebetete System .

Vielleicht bin ich dabei mir es total kompliziert auszudenken.

danke
stefan

Autor: oha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Booten ? So schwierig ist das nun auch wieder nicht. Da passt doch aller 
ins flash. Ein Mega8 ist vielleicht etwas klein, ein Mega32 allenfalls 
passender.

Autor: Stefan Weber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich weiß, damit ein System von sich allein starten kann,  behilft 
es sich von im ihm implementierte Betrieb system . Da werden alle 
Mögliche initialisiert(IVT, IRQ, Register, Ram-vergabe...).

Es kann zwar alles in flash geschehen  aber mittel ein Bet. System  oder 
?

danke.
Stefan

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube, du solltest dich erstmal mit einfacheren Sachen 
beschäftigen...

Autor: Michael M. (mikmik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Allerdings.
Wenn Du nicht trollst, lies dich mal in Themen ein wie:
"AVR allgemein"
"AVR programmieren"
"Led mit AVR ansteuern"
usw...

Autor: testit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach, ja klar, nen BIOS sollt man noch ran schweißen
und am Besten n Terrabyte an Festplattenkapazität vorhalten ...

junge, Du denkst zu kompliziert.

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nun seid doch nicht so garstig, er hat doch immerhin einen Rentenzahler 
in die Welt gesetzt.




Hallo Stefan,
Du denkst wirklich zu kompliziert. Daher erst ein paar grundlegende 
Dinge:

Willst Du das Problem mit einem PC oder einem Microcontroller lösen?

Wenn Microcontroller dann reicht ein Mega 8 für die maximal 25 Tasten 
und die dazugehörigen Zeitabstände aus.

Der Microcontroller braucht kein Betriebssystem. Aber ein bisschen 
Erfahrung in der Programmierung. Deine Problemstellung ist nicht sooo 
schwierig, aber als Erstlingswerk vieleicht zu groß.

Siehe mal in die Artikelsammlung, da gibt es einige Beispiele.


Axel

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.