AVR Programmierung, SysEx-Daten?

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 25 11 2024  12:54:34      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
AVR Programmierung, SysEx-Daten?

    







BID = 732811

Andi-872

Aus Forum ausgetreten
 

  


Hallo,

ich arbeite mit verschiedenen Musik-Sequenzerprogrammen. Es gibt hier im wesentlichen 2 Datenformate für Übertragungszwecke: MIDI und SysEx-Daten. Ist es technisch möglich, via MIDI-Kabel einen AVR anzusteuern, der aus einer großen und ständigen Datenmenge von SysEx-Daten (die in Hexadezimal vorliegen) 2 spezielle SysEx-Codes, auf die er programmiert wurde, rausfiltert und bei Auftreten dieser Codes jeweils z.B. einen Piepser ansteuert? Kann der AVR Hexa interpretieren, um damit einen Befehl auszuführen? Oder kann man nur solche Daten für den AVR verwenden, die in irgendeiner Bibliothek zuvor abgespeichert wurden (was ich in meinem Fall bezweifle)?

Andi

BID = 732826

Her Masters Voice

Inventar


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 5308
Wohnort: irgendwo südlich von Berlin

 

  

Dein Geschreibsel ergibt wenig Sinn. Ein AVR Mikrocontroller kann erstmal garnix sondern wird für seine Aufgabe programmiert. Dem ist es egal ob das nun MIDI Daten sind oder irgendwas Anderes. Wenn du also ein passendes Programm schreibst, dann kann er auch für einen Pieps sorgen.

_________________
Tschüüüüüüüs

Her Masters Voice
aka
Frank

***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
***********************************

BID = 732899

Andi-872

Aus Forum ausgetreten

Daaaaaaaaaanke füüüüüüüüüüüür Deiiiiiiiiine Erleuchtung.

BID = 732900

QuirinO

Schreibmaschine



Beiträge: 2205
Wohnort: Behringersdorf
Zur Homepage von QuirinO ICQ Status  

Stellst du gerade nur theoretische Überlegungen an oder bist du an einem speziellen Projekt dran?

Möglich ist mit dem AVR wirklich alles, die Frage ist nur ob du in der Lage bist das ganze zu programmieren. Du musst schon verstehen, dass du so eine schwammige Antwort bekommst, wenn du so eine schwammige Frage stellst. Wie weit bist du denn schon? Haste schon was ausprobiert? Hast du Erfahrungen mit MIDI und dem anderen Protokoll?

BID = 732903

Andi-872

Aus Forum ausgetreten

Hallo,

ich habe bisher immer mit "richtigen" Bauteilen gearbeitet. Manches geht aber nicht mehr damit. Bin mit MC´s absoluter Anfänger und möchte erst mal die Weichen stellen, womit ich in Zukunft überhaupt weiterarbeiten möchte. Da gibt es ja ´ne ganze Menge MC´s. Über AVR hab ich viel gutes gehört, mehr weiß ich dazu aber eben nicht. Insofern war meine Frage (für´n Anfänger!!!) keineswegs schwammig

Ich möchte eine sogenannte Rotlicht-Steuerung für ProTools bauen, die bei Aufnahme 3 sec vorher z.B. im Sekundentakt blinkt (oder auch in der Anzahl der leuchtenden LED´s abwärts zählt o.ä.) und dann rot dauerleuchtet. Vor Jahren gab es mal ein solches Teil von EES zu kaufen. EES gibt es leider nicht mehr, und dieses Gerät hatte auch einen kleinen Nachteil. Es hat zwar vorher geblinkt, aber leider nicht im Sekundentakt oder wenigstens in einem nachvollziehbaren Takt irgendeiner Art, sondern jedesmal anders (mal 3 Blinker, mal nur 2, dann wieder 3 oder 4 usw.). In der Praxis hast Du einen Synchronsprecher im Studio, der möchte gern vor der heissen Aufnahme so ´ne Art Standby bekommen. Aber eben ein Standby, was bei jedem Take dann dasselbe macht, damit der Sprecher das immer nachvollziehen kann.
Ich konnte schon herausfinden, dass die "verantwortlichen" Daten dafür SysEx-Daten sind. Konnte diese betreffenden Daten auch schon eliminieren und darstellen. Jetzt möchte ich, dass ein AVR diese Daten in meine gewünschte Sache umsetzt.

Jeder fängt mal an, ich trau mir durchaus zu, mich an MC´s zu wagen und ggf. nach einer gewissen Zeit auch so ein Programm zu starten. Wie gesagt, meine Frage steht ganz am Anfang und zielt erst mal dahin, mit WELCHEM MC ich das machen kann. AVR hat sicher noch paar Jahre Zukunft, auch deshalb würde ich gern auf diese Dinger setzen und mit denen arbeiten. Mir ist noch nicht klar, welche Daten der AVR umsetzen kann. Kann ich den mit Hexacode füttern und der lässt mein Lämpchen brennen?

Andi

An "Her Masters Voice": Bitte generell keine Antworten mehr auf meine Fragen!

BID = 732906

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Es gibt keine Hexacodes.

Das, was du meinst, sind zwei ASCII-Zeichen aus {0,...,9,A,...,F}, die ein Byte kodieren, und zwar zur Basis 16.
Wie bereits gesagt wurde, kann ein AVR erstmal nichts Spezielles, außer die Hardware zur Verfügung zu stellen.

Die Hauptfunktion eines µCs liegt in seinem Programm und ob dieses den Anforderungen gerecht wird (*), ist einerseits durch das Können und die Erfahrung des Programmierers, andererseits natürlich durch die Hardware eingeschränkt.

Die Nebenbedingungen hier sind unter anderem folgende:
1. auf welche Art und Weise kommen die Daten in den µC? Bei MIDI jawohl mit einer asynchronen seriellen Schnittstelle (uart), was die meisten, wenn nicht alle, AVRs hardwaremäßig verstehen.
2. Wie schnell kommen die Daten: entweder werden Frames erst eingelesen und bei einer erkannten STOP-Sequenz verarbeitet oder der Abstand zwischen zwei Bytes ist so groß, dass man die Daten "on-the-fly" verarbeiten kann. Das hängt zum einen von der Baudrate ab, zum anderen von der Taktfrequenz des Prozessors und nicht zuletzt von den Fähigkeiten des Programmierers. Für so spezielle Sachen kann man ganz tief in die Trickkiste greifen und mit ein paar Vergleichsoperationen auskommen auf Kosten der Programmgröße.
3. Wie lang sind die Datenframes?


Grundsätzlich sind das ja ASCII-Daten, also zwei Bytes kodieren in hexadezimaler Schreibweise eigentlich eine binäre, acht Bit lange Information, z.B. steht AA für 10101010, wobei ersteres zwei Bytes und letzteres nur ein Byte benötigt.
Da die Basis davon 16 ist, kann man das sauschnell umsetzen.


Was kannst du denn schon? Hast du mal in einem Assemblerdialekt programmiert? Oder überhaupt mal programmiert?

Edit:
Und mal von Basen, ASCII-Zeichen und irgendwelchen Datenwörtern abgesehen: Vergleiche auf binärer Ebene sind sowieos sauschnell (ein Systemtakt bei AVRs für ein Byte). Umwandeln braucht man die Daten ja evtl. gar nicht.

Normalerweise sollte man sich ein Flussdiagramm oder Ähnliches malen, wenn man nicht schon eine Programmvorstellung im Kopf hat. Das Flussdiagramm zeigt dabei Übergänge zwischen Zuständen des Programms sowie eventuelle Übergangsbedingungen. Das kann man dann später ganz gut in ein konkretes Programm umsetzen, auch wenn man keine oder wenig Erfahrung mit dem Programmieren hat.



_________________


[ Diese Nachricht wurde geändert von: DonComi am 10 Dez 2010  0:14 ]

[ Diese Nachricht wurde geändert von: DonComi am 10 Dez 2010  0:19 ]

BID = 732909

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Kann ich den mit Hexacode füttern und der lässt mein Lämpchen brennen?
Nein, so ein Miocrocontroller "versteht", wie (fast) jeder andere Computer auch, nur eine handvoll Maschinenbefehle, die in seinem nichtflüchtigen Speicher abgelegt wurden.
Diese Maschinenbefehle richtig zu kombinieren, sodaß daraus etwas sinnvolles entsteht, ist Sache des Programmierers.

Dem Prozessor ist es erstmal egal, ob die Daten parallele oder seriell, in Hex oder von einem Drehrädchen angeliefert werden; er versteht sie ohnehin nicht.

Erst dadurch, daß man ihm ein Programm eingeimpft hat, dass z.B. lauten könnte: "Wenn an Pin7 drei Impulse eingetroffen sind, dann zünde an Pin8 eine LED an und mache sie bei einem weiteren Impuls an Pin7 wieder aus", passiert überhaupt erst etwas.
Der Programmmierer macht sich dazu Gedanken wie z.B.: Was heißt hier überhaupt "Impuls" ?
Welche Maschinenbefehle stehen zur Verfügung um einen zu erkennen?
Mit welchen Maschinebefehlen kann ich die erkannten Impulse zählen?
usw.
Viele solcher Einzelheiten verknüft er dann zu einem Programm, das (hoffentlich) die gewünschte Wirkung hat.

BID = 732936

hajos118

Schreibmaschine



Beiträge: 2453
Wohnort: Untermaiselstein


Zitat :
Andi-872 hat am  9 Dez 2010 19:47 geschrieben :

2 Datenformate für Übertragungszwecke: MIDI und SysEx-Daten.

Dazu muss im AVR ein MIDI und SysEx Daten "Analysator" programmiert werden.

Zitat :

Ist es technisch möglich, via MIDI-Kabel einen AVR anzusteuern, der aus einer großen und ständigen Datenmenge von SysEx-Daten (die in Hexadezimal vorliegen) 2 spezielle SysEx-Codes, auf die er programmiert wurde, rausfiltert und bei Auftreten dieser Codes jeweils z.B. einen Piepser ansteuert?

JA, technisch möglich aber programmtechnisch ein nicht unerheblicher Aufwand.

Zitat :

Kann der AVR Hexa interpretieren, um damit einen Befehl auszuführen?

Nur durch das Programm, welches er abarbeitet.


_________________
Interpunktion und Orthographie dieses Beitrags sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Wer einen Fehler findet, darf ihn behalten!


Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 10 Beiträge verfasst
© x sparkkelsputz        Besucher : 182395745   Heute : 2941    Gestern : 7548    Online : 617        25.11.2024    12:54
11 Besucher in den letzten 60 Sekunden        alle 5.45 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0736119747162