Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Sensordaten von SRF08 lesen Kategorie: I²C-Bus (von Dietmar Weickert - 25.02.2004 16:25)
Als Antwort auf Re: Sensordaten von SRF08 lesen von Robert Haase - 24.02.2004 17:26
Ich nutze:
C-Control II Station, OSOPT V3.0
Hallo Robert!

Zunächst die Unterscheidung zwischen Adresse und Register:
Adresse ist die Nummer des Sensors (oder sonstigen Gerätes) auf dem I²C-Bus. Du könntest ja
mehrere Sensoren haben oder zusätzliche I/O-Bausteine, etc. Mit der Adresse wählst du das Gerät
aus, mit dem du reden möchtest.
Jedes dieser Geräte hat eine eingebaute Logik. Um diese zu steuern haben sie jeweils kleine
Speicherbereiche aus einigen Bytes, die man lesen, beschreiben oder lesen und beschreiben kann.
Ein einzelnes Byte davon hei�t Register. Wenn mehrere Register vorhanden sind, müssen sie
nummeriert sein, um sie zu unterscheiden.

Ich habe mir die Zeit genommen, die Informationen im Internet zu lesen. Ich glaube, dass dein
ursprünglicher Ansatz eigentlich richtig war (es wird tatsächlich von einer Adresse gelesen, die um
1 grö�er ist als jene, zu der geschrieben wird). Allerdings liest du nur das erste von zwei Bytes, und
das ist das höherwertige eines Worts. Du solltest das zweite mit i2c.readlast() ebenfalls lesen und
den gesamten Messwert dann ausrechnen: Messwert = Byte1*255+Byte2. (Wenn in beiden Bytes
255 drinsteht, warst du vielleicht zu schnell.) Schau dir einmal das Beispiel auf
http://www.robot-electronics.co.uk/htm/srf08stamp.shtml an.

Mehr Ideen habe ich, glaube ich, auch nicht mehr.

Liebe Grü�e und Alles Gute bei deinen Versuchen,
Dietmar.


> Hallo Dietmar,
> die Beispiele habe ich schon alle durchkämmt und mich mit meinen Befehlen dannach gerichtet.
> Ein Freund von mir hatte den Sensor bereits am laufen, allerdings mit einer anderen Steuerung auf C-Basis.
> Ich habe mir seinen Quelltext genommen und die Befehlssequenz übernommen, soweit das mit den Befehlen
> der C-Control möglich war. Auf dem Datenblatt von Devantech SRF08 sind die 16 möglichen Geräteadressen
> (E0, E2, E4, E6, E8, EA, EC, EE, F0, F2, F4, F6, F8, FA, FC oder FE)angegeben sowie die Register (0..35).
> Ich dachte, das verstanden zu haben, aber vielleicht liegt da irgendwo die Lösung, kannst Du bitte noch
> einmal schreiben, was Du genau meinst?
> Vielen Dank
> Robert
>
> > Hallo Robert!
> >
> > Kann es sein, dass du Sensor-Adresse und Registernummer verwechselst? Die Sensor-Adresse ist die
> > Geräte-Adresse auf dem I²C-Bus, hat also nichts mit dem Register zu tun.
> >
> > Du findest unter http://www.robot-electronics.co.uk/shop/Examples.htm Beispiele, die die
> > Funktionsweise gut illustrieren. (Und wohl auch funktionieren: immerhin verlässt sich ein Autor nach
> > eigenen Angaben beim Fallschirmspringen darauf...)
> >
> > Liebe Grü�e,
> > Dietmar.
>


    Antwort schreiben


Antworten: