Forum: Mikrocontroller und Digitale Elektronik mega8515 - DMX senden


von Markus Cords (Gast)


Angehängte Dateien:

Lesenswert?

Hallo..

Kann mal jemand bitte den Code überprüfen ?

Igendwie bekomme ich kein DMX Signal raus.

PD2 is auf High damit der SN75176 auf Sendung geht

Der Sender soll immer auf Adresse 1 einen Wert von 255 senden.

Danke, Markus

von Thorsten F. (thorsten)


Lesenswert?

Nabend

Mir fällt auf, dass du die unteren 8 bits von UBRR nach dem laden mit
0x01 gleich wieder löschst.

; Baudrate einstellen
                ldi temp, 0x01          ; 250 kbbaud @ 8Mhz
                out UBRRL, temp
                ldi temp, 0x00       <-----------
                out UBRRL, temp      <-----------

Meintest du an zweiter Stelle evtl. UBRRH ?

Mit DMX ansich kenne ich mit nicht aus.

mfg

von jornbyte (Gast)


Lesenswert?

Bei deinem Code kannste lange warten bis da was raus kommt.

von crazy horse (Gast)


Lesenswert?

was mir auf den 1.Blick auffällt: ist die UART freigegeben, kannst du
nicht mehr per Software auf die entsprechenden  Ports zugreifen.
Transmitter freigegegeben heistt also, sbi (cbi) PORTD.1 hat keine
Wirkung am Pin. Gespeichert wird das zwar im Portregister, würde aber
erst erscheinen, wenn der UART-Transmitter disabled wird.

von Markus Cords (Gast)


Lesenswert?

Das mit UBRLL habe icbh auch gerade gemerkt.

von Markus Cords (Gast)


Lesenswert?

meinte UBRRL

von jornbyte (Gast)


Lesenswert?

Das wird nix. Das gesammte Timing wird nicht eingehalten.
Du "schubst" auch das Protokoll nicht an, da kommt nichts bei raus.
Diese "10" Programmzeilen haben nix, aber auch garnix was mit DMX zu
tun. Da kannste mal gucken wie sowas geht:
http://forum.electronicwerkstatt.de/phpBB/topic42381_f28_bxtopic_timexDESC_by2_bz30_bs0.html

von Markus Cords (Gast)


Lesenswert?

hi.

habbe schon die ganzen fehler nach langer nacht gefunden.

danke

von Pierre O. (pierreos)


Lesenswert?

Hallo
ich bin grad dabei einen dmx sendersoftware für einem atmel avr zu
schreiben. bin auf den uart gestoßen, und dachte diese ist für
asynchrone datenübertragung recht praktisch. leider sendet der uart
immer ein stopbit welches high ist pro frame. damit lässt das
dmx-protkoll leider nicht realisieren, da die resetzeit für das
dmx-protkoll mindest 4 frames lang sein muss. wie habt ihr das
realisiert?? müsste ich dann alles zu fuß programmieren?
vielen dank

mfg :)

von Hannes L. (hannes)


Lesenswert?

Vielleicht könnte man die Bytes ja über einen Timer synchronisiert
senden?
Also nicht senden, wenn UDR leer ist, sondern in einem Intervall,
welches das Stopbit auf die benötigte Länge ausdehnt.

Ansonsten habe ich von DMX (noch) keine Ahnung...

...

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Hi

muste dir mal den Teil für die erzeugung des DMX Signal mal raussuche.
Die Sache stammt aus meiner Lichtsteuerung.
Das Timing ist sehr wichtig sonst wird das alles nix.

MfG

von Dirk (Gast)


Lesenswert?

wahrscheinlich schon 1000 mal hier eingestellt.

http://www.soundlight.de/techtips/dmx512/dmx512.htm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.