Hallo, ich habe eine Frage zum TWSR. Die ersten 5 bits speichern ja ein Statuscode. Diesen möchte ich nun abfragen, nur leider findet sich nirgendswo eine Beschreibung der Statuscodes. Welches Bitmuster bedeutet was? Ich wollte nämlich eine Fehlerabfrage implementieren: if((TWSR >> 3) == 0x00) { // Welches Ereignis 0x00 jetzt auch immer sein soll } Kann mir da jemand weiterhelfen? Frage 2: Was wäre Ressourcenschonender? Alles um 3 bits nach rechts zu verschieben, oder das byte zu maskieren (TWSR & 0b11111000) ?
Einfach mal den Titel lesen: TWSR – ________TWI________ Status Register Codes
>Einfach mal den Titel lesen:
Wo wir schon bei lesen sind.
Lies das Kapitel TWI bis zum Ende durch.
Dann findest du auch die Status Codes.
Ne, da stehen nur diese Codes:
1 | if ((TWSR & 0xF8) != TW_MT_SLA_ACK) |
2 | ERROR(); |
1 | wenn ein Master sein Vorrecht auf dem Bus verloren hat (0x68, 0x78). |
1 | wenn er die Hoheit auf dem Bus an einen anderen Master verliert (0xB0) |
1 | Wird TWEA während eines Transfers gesetzt, wird das aktuelle Byte noch fertig gesendet und Status 0xC0 (ACK) oder 0xC8(NACK) tritt ein |
1 | Status 0x00 steht für einen Busfehler während einer Übertragung. |
Dies ist doch aber nicht vollständig oder? Bei 31 verschiedenen Möglichkeiten.
Hallo, die Möglichkeiten die du im Datenblatt für den entsprechenden Modus findest, sind die die du dort auch brauchst. Die einzelnen Bits (TWS7..TWS3) werden vom entsprechenden Hardwaremodul gesetzt und da gibts nun mal nur bestimmte Kombinationen die auftreten können - und nicht 32 verschiedene Möglichkeiten. Sascha
HI
>Ne, da stehen nur diese Codes:
Dann erzähle mal, wo du genau gesucht hast.
In meinen Datenblättern steht da wesentlich mehr.
MfG Spess
> In meinen Datenblättern steht da wesentlich mehr. Dann erzähl mal wo du gesucht hast. Diese "Leistungsüberprüfung" ist echt Kindergarten. OOhh da habt ihr mich jetzt aber belehrt google zu benutzen. Wow ... ganz toll. Immer wenn irgendwelche Gäste antworten ist der gesamte Thread für den Arsch. Um das mal aufzuzeigen: > TWSR = Time-Wavelength-Space Router ?! @*gg*: Lern bitte Titel lesen. Dein Kommentar hatte nichts intelligentes an sich. > Wo wir schon bei lesen sind. > Lies das Kapitel TWI bis zum Ende durch. Kann man nicht einfach davon ausgehen, dass ich das schon getan habe? Vielleicht waren mir die dort erwähnten zu wenig, vielleicht wollt ich es auch direkt in einem Datensheet lesen (siehe unten). Mit so einer Art musst du garnicht kommen. Geh du mal was lesen - das wäre definitiv am förderlichsten. Vielleicht hast du dein halbes Leben immer nur infos in Foren erfragt weil du nichts auf die Reihe bekommen hast. Schließ von deiner Mentalität aber bitte nicht auf andere. Sascha Weber, man sehe. Nicht Gast und mal was konstuktives. > In meinen Datenblättern steht da wesentlich mehr. Boar junge ... wer hat dein Gehirn nur so leergefi**t. Für die etwas vernünftigeren hier: Entschuldigt diese Art von mir. Bei so einer Art der Kommunikation sehe ich einfach rot. Immer patzige, dumme, möchtegern-joviale, beleidigende Antworten von ihrgendwelchen Bauern zu bekommen geht sicherlich jedem nach auch nur 1 Stunde auf dem Wecker.
Hi >> In meinen Datenblättern steht da wesentlich mehr. >Dann erzähl mal wo du gesucht hast. >Diese "Leistungsüberprüfung" ist echt Kindergarten. >OOhh da habt ihr mich jetzt aber belehrt google zu benutzen. Wow ... >ganz toll. Wie wäre es einfach mal mit dem Namen des Controllers? Dann sage ich ich dir sogar die Seitennummern. >Für die etwas vernünftigeren hier: >Entschuldigt diese Art von mir. Bei so einer Art der Kommunikation sehe >ich einfach rot. Immer patzige, dumme, möchtegern-joviale, beleidigende >Antworten von ihrgendwelchen Bauern zu bekommen geht sicherlich jedem >nach auch nur 1 Stunde auf dem Wecker. Das ist die einzige wirklich 'patzige' Antwort hier. MfG Spess
I2C ist ein Standard Ich will nicht die Codes von einem bestimmten Chip. Ich will immernoch alle möglichen Statuscodes auf die sich Philips (der Hersteller) anfang der 1980er (das Jahr) geeinigt hat. Punkt.
Wie kommst du drauf, dass Philips die Statuscodes standardisiert hat?
Hi >I2C ist ein Standard >ich will nicht die Codes von einem bestimmten Chip. >Ich will immernoch alle möglichen Statuscodes auf die sich Philips (der >Hersteller) anfang der 1980er (das Jahr) geeinigt hat. Punkt. Nix Punkt. Das gibt es nicht in der I2C-Spezifikation. Das sind herstellerspezifische interne Fehlercodes. Und Fertig. MfG Spess
>Dann erzähl mal wo du gesucht hast. Wenn Du Dich auf ein Ding oder ein Dokument beziehst, dann hast Du es zu nennen. Diejenigen, die Du um Rat bittest, müssen nicht raten auf was Du Dich beziehst. Abgesehen davon wäre das ineffektiv. >I2C ist ein Standard >Ich will nicht die Codes von einem bestimmten Chip. Es gibt im I2C Standard keine Vereinbarung über Statuscodes in Registern von Peripherieeinheiten.
Hi Nachtrag: Die UM10204 http://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CEEQFjAB&url=http%3A%2F%2Fwww.nxp.com%2Fdocuments%2Fuser_manual%2FUM10204.pdf&ei=GzdfUZjgE8SKswbruoDgAg&usg=AFQjCNG5emVs3tU5RbGVKjblTMFgLLHdqg&bvm=bv.44770516,d.Yms&cad=rja ist das offizielle I2C-Dokument. Such mal dort nach Fehlercodes. MfG Spess
Da reiht sich der nächste in die Reihe ein: > Wie kommst du drauf, dass Philips die Statuscodes standardisiert hat? Weil es nach meine Verständnis geht, dass derjenige, der den Bus entwickelt hat, auch die Fehlerbehandlungen implementiert hat. Hätte man statt so ne **** Gegenfrage zu stellen nicht einfach "Philips hat die Satuscodes nicht standadisert." schreiben können? > Das gibt es nicht in der I2C-Spezifikation. Das sind > herstellerspezifische interne Fehlercodes. Danke. Mehr wollte ich eigtlich nicht wissen. Daraus ergibt sich ja, dass man dann im Datenblatt nachsehen muss.
Nachtrag:
> ist das offizielle I2C-Dokument. Such mal dort nach Fehlercodes.
Ich habe die Frage gestellt um die Statuscodes herauszufinden.
Warum soll ich da nach Statuscodes suchen?
Die antwort: "Die sind nicht standadisiert" hätte vollkommen gereicht.
Ich weiß nicht was diese Quests/Spielchen hier immer sollen.
"Such nach Statuscodes", "Erzähle wo du gesucht hast", "entschlüssel das
Rätsel der sieben Siegel", "Geh zum alten Dorfschmied und bringe im ein
Eimer Kohle" ... jajaja immer Spielchem am spielen.
>Weil es nach meine Verständnis geht, dass derjenige, der den Bus >entwickelt hat, auch die Fehlerbehandlungen implementiert hat. Dann ist eben Dein Verständnis falsch. >Hätte man statt so ne **** Gegenfrage zu stellen nicht einfach "Philips >hat die Satuscodes nicht standadisert." schreiben können? Die Gegenfrage kam ja überhaupt erst nach der Aufforderung das Kapitel zuende zu lesen und diese Aufforderung verlangst Du nun nachträglich von uns: >Daraus ergibt sich ja, dass man dann im Datenblatt nachsehen muss. Du verdrehst die Tatsachen was den Ablauf des Threads angeht und auch was den sinnvollen Umgang mit einem Thema angeht. Wenn man etwas Neues anfängt, liest man erstmal die dazu verfügbaren Dokumente und fragt, dann. So ist es nun gelaufen wie es gelaufen ist: Du hast so ein paar Halbtatsachen aufgeschnappt, die daraus eine Hypothese gebastelt und als die Hypothese nicht mit der Wirklichkeit übereinstimmte hast Du hier gefragt. Als die Antwort war, das Du erstmal nachlesen sollst, bist Du unangemessen belehrend und arrogant geworden. Und als Spess53 eine Referenz von Dir wollte, bist Du noch frech geworden. Im übrigen bist Du Dir mangels Lektüre garnicht darüber klar gewesen was dier I2C Standard umfasst und was nicht. Und wo hat das geendet? Das Du jetzt weisst, das Du nachlesen sollst. Also bitteschon: Denke das nächstemal daran, das DU um Hilfe bei uns bittest. In der Regel, von Spess53 z.B. nehme ich das mit ziemlicher Sicherheit an, sind hier recht erfahrene Leute unterwegs die das auch beruflich machen. Wir wissen wie man Fragen stellt und wie man sich einem Thema nähert. Belehre uns also nicht darüber.
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.