One-Wire CRC notwendig bei bekannter ID?

Hallo,
wenn ich die IDs der Sensoren kenne, dann kenne ich den Typ. Wie ist das mit CRC? Wenn ich den Sensor mit seiner ID anspreche, ist doch sicher gestellt, das alles in Ordnung ist, Oder?
Gruß Gerd

Der CRC ist eine Prüfsumme, mit der Du überprüfst, ob die Übertragung erfolgreich war. Sollte sie nicht stimmen, musst Du den Wert nochmals anfordern, denn dann ging das eine oder andere Bit unterwegs verloren. Das hat nichts mit der ID zu tun.

Der CRC ist doch aber Bestandteil der Sensor-Adresse. Oder ist der CRC-Teil beim ansprechen des Sensors egal?

Der CRC ist nicht direkt Bestandteil der Adresse, aber er wird immer mit übertragen, also kannst Du es so ansehen, dass er das 8. Byte der Adresse darstellt. Fakt ist aber, dass Du damit die korrekte Übertragung verifizieren kannst. Sollte bei der Übertragung der CRC nicht stimmen, wird der Sensor auch nicht reagieren, denn er geht von einem Übertragungsfehler aus. Somit: Nein, der CRC-Teil ist nicht egal.

OK. Danke.

hi,

da hamma jetzt a durcheinander:

pylon, was Du mit dem achten bit im adressbyte meinst, ist die aufforderung an den slave, entweder zu senden oder zu horchen...

Du verwechselst das mit dem parity-bit bei einer seriellen übertragung (aber auch das hat nichts mit CRC zu tun). I²C hingegen hat vom standard her keine prüfsumme vorgesehen, man könnte aber natürlich selbst zur sicherheit eine bilden.

gruß stefan

@Eisbaer: Da hast Du ein Durcheinander. Ich habe vom 8. Byte geschrieben und wir diskutieren nicht über I2C, sondern über 1-Wire, was einen relevanten Unterschied macht. Ich glaube nicht, dass ich da etwas verwechselt habe.

hi,

siehst Du, hab ich ja gesagt: da ist ein durcheinander.

keine ahnung, warum, aber ich war aus irgend einem grund bei diesem thread auf I²C fixiert.

na gott sei dank konnte ich dazu beitragen, dieses durcheinander zu beseitigen.

gruß stefan