Forum: Mikrocontroller und Digitale Elektronik TWSR – TWI Status Register Codes


von Karl (Gast)


Lesenswert?

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) ?

von *gg* (Gast)


Lesenswert?

TWSR = Time-Wavelength-Space Router ?!

von Karl (Gast)


Lesenswert?

Einfach mal den Titel lesen:
TWSR – ________TWI________ Status Register Codes

von holger (Gast)


Lesenswert?

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

von Karl (Gast)


Lesenswert?

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.

von Sascha W. (sascha-w)


Lesenswert?

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

von Spess53 (Gast)


Lesenswert?

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

von Karl (Gast)


Lesenswert?

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

von Spess53 (Gast)


Lesenswert?

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

von Karl (Gast)


Lesenswert?

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.

von sebastian (Gast)


Lesenswert?

Wie kommst du drauf, dass Philips die Statuscodes standardisiert hat?

von Spess53 (Gast)


Lesenswert?

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

von Hmm (Gast)


Lesenswert?

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

von Spess53 (Gast)


Lesenswert?


von Karl (Gast)


Lesenswert?

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.

von Karl (Gast)


Lesenswert?

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.

von Hmm (Gast)


Lesenswert?

>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
Noch kein Account? Hier anmelden.