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
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
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...
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.
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 :)
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.