Hi, hat vo euch jemand ein fertiges C Programm für DMX Empfang ich bin Neuling auf diesem Gebiet und möchte mich in dieses Thema einarbeiten? MFG
ich bezweifle, dass es etwas passendes für einen anfänger ist! auch fehlen angaben der hardware(z.B. uC)
Könntest du mir das schnell auf den Tiny12 umprogrammieren, Christian? Ich habe auch keine Lust, mich durch die Programme anderer Leute zu kämpfen. ;) Für PICs und ARMe könntest du das dann auch gleich machen... @Tom: Merkst du was?
@Rahul wenn Du lesen könntest wärst Du klar im Vorteil!!! Die Frage lautete, ob jemand ein DMX-Empfang in C schon programmiert hat. Und nicht ob es denn jemand umschreiben könnte. Und auf eine Anfrage nach C-Code mit einem Assembler-Code zu antworten wird der Frage nicht gerecht. In der Schule hättest Du wohl jetzt 0 Punkte bekommen.
@tom: Oh mann, hier drin antwortet erstmal jeder freiwillig! Niemand ist verpflichtet, 'Punkte' zu sammeln oder irgendwem irgendetwas zu helfen oder zu zeigen. Anspruch auf etwas hat hier jedenfalls niemand. Und wenn du anstatt des gewünschten C-Codes einen Assembler-Code bekommst, dann sei doch zufrieden. Immerhin hat sich jemand darum geschert und du hast vielleicht sogar eine Grundlage bekommen, auf die du bauen kannst. Grundsätzlich musst du nämlich dein Problem selbst lösen, im Forum kannst du vorbeikommen, damit dir jemand eventuell ein bisschen know-how schenkt - und nicht, dass dir jemand die Arbeit erledigt! Und wenn du nicht nur lesen, sondern auch noch ein bisschen interpretieren könntest, dann würdest du Rahul auch verstehen. Sorry, aber du bist wieder mal ein schlechtes Beispiel für einen Einsteiger. Herkommen, und meinen man sei im Fünf-Sterne-Hotel.
@alle die der deutschen Sprache nicht mächtig sind: Mein Aussage war, dass ich C-Quellcode suche der sich mit DMX-Empfang beschäftigt, nicht mehr und nicht weniger. Also für alle die der Logik nicht mächtig sind, ich suche keinen Assemblercode! Ich fordere auch niemanden dazu auf welchen für mich zu schreiben! Assemblercode bringt mir nicht's da ich den nicht verstehe! Und für alle die sich angegriffen fühlen, lest mal das was ich geschrieben habe, ich habe keinerlei Unterton benutzt, so dass man sich eigentlich nicht angegriffen oder verarscht vorkommen müsste, wenn ihr sowas in meinen Text reininterpretiert dann ist das euer Problem! Und langsam hab ich auf euer Forum echt keinen Bock mehr, andauernd werden einem die Wörter im Mund rum gedreht und irgendwelche Sachen in Aussagen interpretiert die gar nicht da stehen!
Dann sollte Christians Beitrag am besten gelöscht werden. Dein nicht vorhandener Unterton klang ziemlich pissig. Das klang ziemlich danach, dass jemand die Lösung auf einem goldenen Tablett gereicht haben möchte. Ist ja nun schade, dass Christian dir weder eine Lösung für den Mega32 noch in C geliefert hat / liefern konnte, aber er hat zumindest versucht, eine Hilfestellung zu geben. Vielleicht hilft dir diesert Link ja weiter: http://www.google.de/search?hl=de&q=%2BAVR+%2BDMX+%2Bmega32+%2BC&meta= Schönen Tag noch.
> Dein nicht vorhandener Unterton klang ziemlich pissig.
Sehr pissig.
Es sagte dir auch niemand, dass du mit dem Assembler-Code etwas
anfangen müsstest. Er wurde nur als Input gebracht. Vielleicht lesen ja
auch noch andere mit, die spontan auf das Thema DMX gestossen sind und
den Code vielleicht durchaus interessiert anschauen.
Da bekommt man eine gutgemeinte Hilfe und weiss nichts anderes als
herumzumotzen. Hört sich wirklich an, als unterstelltest du dir ein
Recht darauf, deine Fragen auf dem Silbertablett beantwortet zu
bekommen.
Als ebenfalls Einsteiger regt mich dein Verhalten unglaublich auf, da
wird man dann wieder mit 'N00b' oder 'Separates Forum für Anfänger'
konfrontiert.
... Assembler ist doch fast C ... wo ist da das Problem - und wenn Du es nicht verstehtst - dann lerne es halt. ( Dazulernen ha imho bisher noch keinem wirklich geschadet ) Was machst Du denn wenn Du C-Code bekommst , der auf den "falschen" Prozessor zugeschnitten ist ? Grüße, Stefan
DMX Empfang ist wirklich kein Hexenwerk, das geht wunderbar in C mit naja ich sage mal weniger als 50 Zeilen Code. Stell dochmal konkrete Fragen. Wie setzt du die Startadresse? Wie viele Kanäle willst du empfangen? Was willst du danach damit machen?
Bleibt doch mal geschmeidig. Entweder man kann dem Fragesteller helfen, oder nicht. Im zweiten Fall kann man genauso gut einfach nix posten. Aber sich den ganzen Thread lang nur über die Fragestellung aufzuregen, finde ich auch wenig konstruktiv. Also... hier die Lösung auf dem Silbertablett... ;) DMX-Empfang ist über UART-RX-Interrupt mit einer kleinen State Machine ganz einfach zu realisieren. Wichtig ist, daß die CPU schnell genug getaktet ist (250kbps sind kein Zuckerschlecken) und vor allem, daß die ISR höchste(!) Priorität hat (d.h. in allen anderen ISR muß die UART-RX-ISR sofort freigeschaltet werden). Das ganze hab ich realisiert im "Diamond" Dimmer: Die Firmware-Releases gibt's hier: http://sourceforge.net/project/showfiles.php?group_id=80137&package_id=116962 Ganz am Ende der semitone_diamond.c befindet sich die entsprechende ISR. Das Programm ist in C geschrieben, und läuft auf dem ATmega32 bei 16MHz. Ob jemand was mit meinem Code anfangen kann, steht auf einem anderen Blatt. ;) Mark
...ist übrigens der 7. Link, den Google bei "dimmer dmx atmega32" ausspuckt... soviel sei mir als Kritik an den Fragesteller doch noch erlaubt. ;) Mark
Es wäre außerdem nett, in Zukunft hier die Suche zu bemühen: Mit 30s Aufwand, hättest Du bemerkt, dass deine Frage hier ca. monatlich behandelt wird. JEDES MAL linkt jmd. auf meine Seiten (durch die Logs lande ich dann hier), marc linkt derweil den semitone rein, ich hinterlass meinen Standardpost, dass ASM in diesem Fall einmal performanter und ähnlich abstrakt wie C ist (da nur simple state machine). Zum Abschluss gibt es noch einen Überblick über diverse Varianten der machines und deren Vorteile - danach kommt nix mehr. Ich habe diesen 'täglich grüßt das Murmeltier'-Kram jetzt 5-6Mal durchgezogen. Für die Ergebnisse bitte suchen. Hendrik
@marc: Ich war von dem Diamond bislang ganz angetan - bitte überlege Dir aber irgendwann mal die Grenze zwischen HAL und Overkill. Der Diamond wirkt irgendwie allmählich etwas aufgeblasen im Vergleich zu anderen Dimmersourcen die bei mir rumliegen - keine Kritik; bitte einfach mal drüber schlafen;-) Viele Grüße, Hendrik
Hallo Henne, welche Teile - meinst Du - sollten auf einer HAL aufsetzen? Aufgeblasen ist der Code, das stimmt. Vor allem, da es eine große C-Datei ist. Wollte das schon ändern, aber es kostet zuviel Zeit und bringt nicht wirklich etwas. Aufgeblasen ist er aber auch, weil der Dimmer mehr Features hat, als viele andere. Die Feature-Liste ist nicht gerade kurz, und alles steckt in einem einzigen Controller und in einer einzigen Firmware - der Hardwareaufwand ist daher minimal. Für den, der's nachbauen will, und sich nicht um die Interna der Firmware schert, ist das ideal. Was nicht heißt, daß der Code unbegreifbar wäre. Die Features ergeben sich ganz einfach daher, daß er als Standalone-Gerät quasi für den Wohnbereich konzipiert ist. D.h. die Intelligenz steckt eben nicht in irgendeinem Gerät, das ihm per DMX sagt, was er machen soll, sondern er unterstützt Szenen, Crossfading, Timer, etc. schon von sich aus. Das DMX ist nur das i-Tüpfelchen. :) Für Verbesserungsvorschläge betreffend Funktionalität oder Programmierstil bin ich jederzeit dankbar. Mark
@Mark: Ich schau mir die sourcen heute Abend noch mal an und schreib dann eine Mail (in Foren rechtfertigt man sich meistens eher, als wirklich nachzudenken - ich erwische mich jedenfalls häufiger dabei...). Ich hatte u.A. einen CRC-Check des Flashs im Kopf ohne einen Bootloader zu entdecken - das wäre irgendwie etwas sinnlos. Evtl. kann man auch etwas am LCD-Modul schrauben. Was ich aber richtig gern anstoßen würde, wäre der 3p Ausbau. (Ich habe schon so viele Versuche und Blödsinn hier beobachtet, dass ich gerne helfen würde, dass Chaos zu lösen (oder zu vergrößern...). Vielleicht bastel ich am Ende noch eine kastrierte Version für den Transceiver (Compilerflags - keine Abspaltung). Das würde vielleicht ein paar Leute freuen, die keine 20ch und RC5 brauchen und das PCB schon rumliegen haben. BTW: Hasst Du asm-Module (gut kommentiert natürlch) im C-Code? Falls ja, werde ich wohl von Dir etwas Nachhilfe in C-Optimierung benötigen... Wieviel Mann hängen eigentlich zZ. im Projekt? Na ja - weiteres per mail! Hendrik
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.