mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Code portieren für Metronom


Autor: Flip B. (frickelfreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe ein kleines Problem:
Ich würde gerne dieses Metronom nachbauen:
http://www.2k-software.de/ingo/ucontroller.html#metronom
Jedoch weiß ich nicht, welcher Kontrollör original verwedet wird.
Vermutlich ein Atmega8, von dem ich aber zurzeit kein funktionierendes 
Exemplar habe, weshalb ich den hex-code mal auf einen ATmega16 gebrannt 
habe und die ganzen Portpins mit einem Lautsprecher mit vorwiderstand 
durchgeklingelt. An einem war dann auch was Metronommäßiges zu hören.
An anderen Portpins habe ich Leds angeschlossen, die dann auch munter 
flackerten. allerdings nur, wenn der Lautsprecher angeschlossen war. 
Also Lastabhängig. Naja, das fannd ich dann doch sehr ungewöhnlich für 
einen Mikrocontroller. An dieser Stelle habe ich dann aufgehört und 
versucht, mich dem code anzunehmen, weil er ja, so wie er ist nicht 
richtig =garnicht
 läuft.
jedoch werde ich auch daraus nicht schlau. Gibt es eine Möglichkeit,mit 
der man den Hex-code so umsettzen kann, dass er einigermaßen richtig auf 
dem anderen Controller läuft? Ich hatte gehofft, dass die Signale nur 
auf anderen Pins liegen, was ja offensichtlich nicht so ist. Mail an den 
Originalbastler bezüglich des Originaltypes und evtl. einer anderen 
Version geht auch gleich raus. Google konnte mich in diesem Fall leider 
einfach nicht erhellen!

Danke

Frickelfreak

Autor: dfhk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hex code ist nichts anderes als Assembler. Ein bisschen anders 
geschrieben und ohne Kommentare...aber 1:1 zu übersetzen!

Je nach Codemenge würde ich die Antwort des Originalbastlers abwarten. 
Andererseits kann so ein Metronom ja nicht so schwer selber zu bauen 
sein...

Autor: Flip B. (frickelfreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Disassemblieren habe ich schon versucht, jedoch haut der Assembler nur 
grütze raus,, mit vielen unbekannten cordestrings, warscheinlich von C' 
generiert. Deswegen werde ich daraus nicht schlauer. Ich warte jetzt mal 
auf die Antwort des Erbauers, denn selbst mir die Arbeit machen möchte 
ich jetzt noch nicht. Da kauf ich mir lieber einige Atmegas!

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Jedoch weiß ich nicht, welcher Kontrollör original verwedet wird.
>Vermutlich ein Atmega8,

Der kennt anscheinend keinen anderen.

>Disassemblieren habe ich schon versucht, jedoch haut der Assembler nur
>grütze raus,, mit vielen unbekannten cordestrings, warscheinlich von C'
>generiert.

Auch von C generierter Code besteht nur aus Assemblerbefehlen. Das was 
nicht übersetzt wird sind höchstwahrscheinlich Tabellen oder Texte.

MfG Spess

Autor: frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Der kennt anscheinend keinen anderen.

Das stimmt so nicht:
http://www.2k-software.de/ingo/ucontroller.html#thermometer hier ein 
tiny26
frank

Autor: melt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tipp: Im Schaltplan steht der Typ...

Autor: Michael Roek (mexman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Philipp,

> Ich würde gerne dieses Metronom nachbauen:

Die unter Deinem Link angegebenen Geraete sind alle recht 
uebersichtlich.
Das Metronom besteht aus einer LCD -Ansteuerung (90% der SW), einem 
Timer und dem Treiber fuer Lautsprecher und LEDs.

Ich wuerde Dir sehr ans Herz legen, das nicht zu "portieren" sondern neu 
zu schreiben.
Dabei fallen Dir sicher noch andere Funktionen ein, die sinnvolle sein 
koennten (Ausgabe von Takten anstelle klick-klick-klick, umschaltbar in 
2/2, 3/4, 4/4.......)
Das ist wesentlich lehrreicher und es entstehen hinterher nicht die 
Dutzend Fragen hier im Forum "Warum ist die INitialisierung des LCD so 
oder so gemacht...."


Gruss

Michael

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf dem Platinenfoto erkennt man ATMega 8 PI.
hast Du den Hex-Code so genommen wie er ist, mit dem ":" etc. ?
Der muss vor dem disassemblieren erst mal aufgeräumt werden, von den 
Protkoldaten (":", Prüfsumme etc.) der Hex Datei.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>hast Du den Hex-Code so genommen wie er ist, mit dem ":" etc. ?
>Der muss vor dem disassemblieren erst mal aufgeräumt werden, von den
>Protkoldaten (":", Prüfsumme etc.) der Hex Datei.

Völliger Blödsinn, habe ich verwechselt, funktioniert mit dem hex File 
wie es ist, sorry.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Du den Hex-Code so genommen wie er ist, mit dem ":" etc. ?
>Der muss vor dem disassemblieren erst mal aufgeräumt werden, von den
>Protkoldaten (":", Prüfsumme etc.) der Hex Datei.

Das hängt vom Disassembler ab. Mit meinem Selbstgeschriebenen lässt sich 
die Hex-Datei problemlos disassemblieren.

MfG Spess

Autor: Flip B. (frickelfreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dass es nicht so schwer ist, habe ich mir auch schon gedacht. 
Verschiedene Taktarten kann das Metronom aber schon optisch und 
akustisch anzeigen.

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.