mikrocontroller.net

Forum: Compiler & IDEs DMX-Receiver


Autor: Kai Markus Tegtmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, allerseits!

Hat schon mal jemand versucht, mit dem AVR ein DMX-Signal zu dekodieren
und den Quelltext in C geschrieben? Ich habe zwar einen eigenen
Quelltext entwickelt, habe aber zur Zeit keinen DMX-Sender zur
Verfügung und kann mein Programm nicht austesten.

Vielen Dank im Voraus für Eure Antworten!

KMT

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gehe mal auf "suchen" und gib DMX ein ...

Stefan

Autor: Kai Markus Tegtmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal getan, aber entweder waren es Quelltexte in Assembler oder
Quelltexte für einen DMX-Sender. Ich bräuchte aber zum Anpassen einen
Quelltext in C für einen DMX-Empfänger. Notfalls ließe sich das
sicherlich auch in Assembler programmieren, aber ich bin halt
C-verwöhnt...

Viele Grüße

KMT

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also einen Code für den AVR kann ich Dir leider nicht geben. Ich habe
mal einen für den 8051 geschrieben, ist aber schon ne Weile her und das
war auch in Assembler.

Mit dem normalen UART kannst Du Dir aber leicht einen DMX-Empfänger
bauen. Den Brake kannst Du erkennen, indem Du "Framing Error"
auswertest. Wenn das empfangene Byte 00h war, dann wars der Brake. Dann
nur noch auf das Start warten, dann die eingehenden Bytes zählen und ab
Deiner DMX-Adresse n Bytes in eine Tabelle schaufeln.

Stefan

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Kai.
Ich suche einen DMX Code in C.
Würdest du mir deinen zur verfügung stellen?
Wäre super, Gruß Markus.

Autor: Max Roderer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus hast du den Quellcode des Empfängers in C bekommen?
Ich suche nämlich auch einen c - quellcode für einen DMX-Empfänger.

mit freundlichen grüßen
Max

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#pragma vector = 0x48
__interrupt void USART0_RXD_isr(void)
{

  if (UCSR0A & (1<<DOR0))               //Overrun
   {
      dmx_empfangs_zeiger = 515;            //Fehler-Flag setzen
   }
   if (dmx_empfangs_zeiger > 512)          //Zeiger auf DMX-Feld zu groß
   {
      dmx_empfangs_zeiger = 515;            //Fehler-Flag setzen
   }
  if (UCSR0A & (1<<FE0))                 //FE-Bit
   {
     if (UDR0 == 0)                    //Datenregister leer?,wenn ja ist 
es ein
Break
     {
       dmx_empfangs_zeiger = 0;          //DMX-Zeiger setzen
     }
     else
     {
       dmx_empfangs_zeiger = 515;          //Bei Fehler Zeiger auf 
Nirvana
setzen
     }
   }
   else
   {
    dmx_werte[dmx_empfangs_zeiger++] = UDR0;

  }
  fehler = UDR0;

}
IAR Systems
ATM 64
dmx_empfangs_zeiger ist kein richtiger Zeiger, sondern nur ein unsigned
int als Arrayzähler.
fehler ist ein unsigned char, weil, um das Interruptflag zu löschen
immer UDR ausgelesen werden muss.
Die Werte werden in ein 516 Byte großese Array geschrieben.

Bei Unklarheiten bitte meldden.

MW

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan
kannst du mir mal den Quelltest für den 8051 schicken für den empfang 
von DMX daten das würde mir echt sehr helfen.

Ich kann auch mit Asembler was anfangen ich muß ein Projetzt mit dem LPC 
900 machen.

Danke Gruß Alex

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle antwort nur leider ist das ja kein Quelltext für 
einen 8051 sondern für einen AVR

hat niemand einen Ouelltext für einen 8051 das würde mir sehr viel 
helfen

Danke

Grüße Alex

Autor: Stefan Kleinwort (_sk_)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe mal den alten Kram rausgesucht.
Das Ding ist ca. 20 Jahre alt, genau Bescheid weiss ich über die 
Einzelheiten nicht mehr, habe auch keine Ahnung, wie damals der 
Assembler hiess.

Der Code, der für Dich interessant ist, steht unter "SIO-Handler".

Wenn ich mich richtig erinnere, lief das Teil mit 8Mhz auf einem 80517.

Um bei dem Takt noch schnell genug zu sein, sind ein paar Register 
exklusiv für den SIO-Interrupt reserviert, also Vorsicht, die darfst Du 
nirgends anders verweden!

Gruß, Stefan

Autor: Stefan Kleinwort (_sk_)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
scheint nur ein File auf einmal möglich zu sein ...

Autor: Alexander B. (lpc900)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ,
danke für die antwort naja ich bin da noch immer ziemlich am rumrudern 
mit dem DMX Protokal . Für meinen 8051 aber bei dir sind auch ein paar 
gute ideen drin danke.

Gruß Alex

Autor: Alexander B. (lpc900)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Fertig :-)

Autor: Eddi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weis der Beitrag ist schon ein paar Jahre alt allerdings habe ich 
ihn gerade entdeckt und es würde mich brennend interessieren woher du 
solche Linsen für die LEDs bekommen hast?? hab nämlich genau das selbe 
geplant :D

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

must mal hier schauen, ich weis aber nicht ob er dies ArtLinsen hat.

http://www.wayjun.com/index.php?main_page=index&cP...

Dort kaufe ich meinen LED's immer.

MfG

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.