Hallo Leute, ich habe eine Master Slave Kommunikation zwischen einem ATmega32(slave) und einem DVD Player(Master). Sobald ich aber den Code auf den µC draufgeflasht habe und dann ein Video abspielen lasse und dann den Code nochmal draufflashe dann wird der DVD Player nicht gestoppt, sondern spielt einfach weiter. Wie kann ich den DVD Player denn stoppen?? VG
:
Gesperrt durch Moderator
was für infos brauchst du noch? :) sry ich bin neu in der ganze sache :( @Route 66: sobald ich den DVD Player aus und wieder einschalte funktionierts ja, aber irgendwie muss ich irgendwo im Code doch dem DVD Player sagen können, dass er resetten soll oder?
Anfänger schrieb: > aber irgendwie muss ich irgendwo im Code doch dem DVD > Player sagen können, dass er resetten soll oder? Wahrscheinlich versteht er Dich nicht.
Anfänger schrieb: > funktionierts ja, aber irgendwie muss ich irgendwo im Code doch dem DVD > Player sagen können, dass er resetten soll oder?
1 | PORT_RESET |= _BV(PIN_RESET); |
Wobei PORT_RESET und PIN_RESET natürlich so definiert sein müssen, dass die der Hardwaremäßigen Verbindung zwischen DVD-Player-Reset und ATMega-Pin entsprechen.
Junge, setz dich mal zurück, lies dein Ausgangsposting und überlege ob irgendwer ausser dir bei deinem Geschreibsel wissen kann WAS GENAU du vorhast und wie du es versucht hast zu lösen. Les die Netiquette bzgl Problembeschreibung So ist die einzige Antwort: 42
Ich würde dir auch mal raten die Netiquette mal zu lesen. Allein die paar Sätze am Anfang müssten eigentlich genügen :)
Du könntest schreiben, WAS dieses Konstrukt überhaupt machen soll, WAS für ein DVD-Player es ist, WELCHE Schnittstelle verwendet wird, etc... DVD-Player die man im Laden kauft, haben von Hause aus üblicherweise keine Kommunnikation mit einem ATmega, der vom Kunden geflasht werden muss...
Die Zeile 54 in deinem Code sieht nicht gut aus. Das würde ich ändern.
wenn die software-lösung zu aufwändig wird: knipes hat einen guten stoppschalter im sortiment...
Also ich versuchs nochmal klarer zu schreiben, es tut mir echt sehr leid, wenn ich das nicht schaffe. Bin nunmal nicht lange in so sachen drin, daher weiss ich leider auch nicht so genau wie ich das am besten schildern soll. Ich gebe aber mein Bestes. Also ich habe eine IIC Kommunikation zwischen dem µC und den DVD Player. Meine Platine auf dem der µC drauf ist besitzt noch ein Sensor, womit er durch eine Fernbedienung, per IR, Befehle an den DVD Player sendet. D.h. der Befehl wird zunächst an den µC gesendet; mit einer zusätzlichen Leitung wird eine Anfrage an den DVD Player gesendet, indem diese Leitung durch den µC auf low gelegt wird. Der DVD Player fragt diese leitung ständig ab, sobald er sieht, dass er auf low gelegt worden ist, sendet er eine Bestätigung. Sobald der µC die Bestätigung erhalten hat sendet er eine ACK und legt die zusätzliche leitung auf high. Den DVD Player habe ich nicht implementiert, das ist aber kompatibel mit denen aus dem Laden. Ich benutze zusätzlich noch einen UART, womit ich sehen kann welche daten ich an den DVD Player senden kann und welche ich empfange. Außerdem benutze ich einen Display Controller. So nun zu meinem Problem: 1. ich flashe den Code auf den µC 2. ich drücke auf den Power Button auf der Fernbedienung 3. dann schalte ich den DVD Player ein 4. Anschliessend drücke ich auf den Play Button 5. So jetzt zu meinem Problem: Wenn ich jetzt mein Code nochmal draufflashe wird der DVD Player nicht gestoppt, sondern spielt einfach weiter. Wobei er ja eigentlich auch nochmal neu initialisiert werden müsste und genau da braucht ich hilfe... Ich hoffe, dass es jetzt einigermaßen verständlich ist... VG
Anfänger schrieb: > Der DVD Player fragt diese leitung ständig ab, sobald er sieht, dass er > auf low gelegt worden ist, sendet er eine Bestätigung. Sobald der µC die > Bestätigung erhalten hat sendet er eine ACK und legt die zusätzliche > leitung auf high. Den DVD Player habe ich nicht implementiert, das ist > aber kompatibel mit denen aus dem Laden. Keiner der DVD-Player, die ich kenne, fragt irgendwelche Leitungen ab. Also nenne bitte endlich die genaue Beueichnung des von Dir verwendeten Players. > Wenn ich jetzt mein Code nochmal > draufflashe wird der DVD Player nicht gestoppt, sondern spielt einfach > weiter. Wobei er ja eigentlich auch nochmal neu initialisiert werden > müsste Wieso sollte der DVD-Player initialisiert werden, wenn der µC geflasht wird?
Lieber Anfänger, leider ist es auch mit Deiner Beschreibung immer noch unklar, was Du eigentlich machst. 1. Was für einen DVD-Player (Hersteller, Modell) verwendest Du? Woher hast Du das Kommunikationsprotokoll? Mir ist bisher noch keiner mit offengelegter I2C Schnittstelle untergekommen. 2. Was macht der IR-Sensor? Ein Sensor kann Signale empfangen, aber nicht senden. Soll der Sensor die Signale einer Fernbedienung empfangen und an den uC weiterleiten, diese in I2C-Befehle umwandeln und damit den DVD-Player steuern? Beste Grüsse Mike
die bezeichnung würde dich nicht weiter bringen weil die auch eine hauseigene ist. die sollte aber kompatibel mit denen aus dem laden sein wurde mir gesagt. ich weiss nicht wie ich den DVD Player zum stoppen kriegen soll, das sind nur vermutungen von mir...
Anfänger schrieb: > ich weiss nicht wie ich den DVD Player zum stoppen kriegen soll Dann frag den hauseigenen Support. Wir können Dir nicht weiterhelfen, da wir Deinen DVD-Player nicht kennen und keiner der uns bekannten DVD-Player auch nur in Ansätzen dem ähnelt, den Du da zu verwenden scheinst.
Ohne konkrete Angaben zu Playertyp und Kommunikationsprotokoll wird hier wohl niemand helfen können. Ansonsten bleibt nur die Holzhammermethode: Stromversorgung des Players über Relais abschalten. Dannist die Musik garantiert aus. Gruss Mike
Anfänger schrieb: > die bezeichnung würde dich nicht weiter bringen weil die auch eine > hauseigene ist. Doch, dass würde weiterhelfen, zumindest im Ansatz zu verstehen, wovon du redest. > die sollte aber kompatibel mit denen aus dem laden sein > wurde mir gesagt. Dann wurde Dir offensichtlich Unsinn erzählt.
Ich fasse dein Problem mal so zusammen, wie ichs verstanden habe: 1) dein µC sendet "Start" per I²C an den DVD-Player. Der Startet. 2) dein µC sendet "Stop" per I²C an den DVD-Player. Der Stoppt. 3) dein µC sendet "Start" per I²C an den DVD-Player. Der Startet. Anschliessend Flashst du eine neue Firmware auf den µC. Der DVD-Player stoppt nicht. Lösung: Als erste Aktion in der Firmware immer ein Stop-Kommando senden. Wenn der DVD-Player eh gestoppt ist, macht das nix, wenn du grad am flashen warst, wird er gestoppt.
ja genau so wars gemeint :) hmm, wann genau sag ich denn stopp? VG
Anfänger schrieb: > hmm, wann genau sag ich denn stopp? Εrnst B✶ schrieb: > Als erste Aktion in der Firmware immer ein Stop-Kommando senden.
Hallo, wenn Du ein neues Programm flasht und dein DVD Player abspielt, musst Du nach dem Flashen also beim Programmstart dafür sorgen das der DVD Player in einen definierten zustand kommt. d.h. Du könntest beim Programmstart versuchen in jedemfall erst mal ein Stop Signal zu schicken. gruß, Björn
Warum musst du denn ständig das Programm neu flashen? Diese Situation sollte doch nur bei der Entwicklung vorkommen? Wenn der Player so eine tolle Schnittstelle hat sollte er auch den momentanen Ist-Zustand an deine Steuerung rückmelden könnnen. Für mich klingt das eher so, als ob du eine Verbindung initialisierst, dann deine Steuerung flashst, der Player aber immer noch davon ausgeht das die Steuerung da ist. Dabei zerlegst du irgendwie die Kommunikation deiner Schnittstelle und müsstest die erst neu initialisieren. Torsten
habs mit Stop ausprobiert ging nicht aber mit dem Power Kommando hats funktioniert :)) weil da getoggelt wird, d.h. ist es an wird es ausgeschaltet ist es aus wird es angeschaltet :)) ich danke euch viiielmals... VG
weil ich ständig neue dinge ausprobiere mein Code ist nämlich noch nicht fertig.. daher ist mir das zufälligerweise aufgefallen, dass der DVD Player eigentlich garnicht ausgeschaltet wird :)
Rein aus Interesse, hast du n Foto von deinem Versuchsaufbau? Woher weißt du wie ein Powerkommando aussieht? Hast du eine Bibliothek?
es steht in der Spezifikation vom DVD Player drin. ich weiss nicht, ob ich ein photo rausgeben darf ich frag mal morgen nach, sollte ich eine Bestätigung bekommen kann ich die gerne hier posten.