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

Re: Probleme beim Datenempfang über i2c Kategorie: I²C-Bus (von Sebastian - 27.06.2006 14:41)
Als Antwort auf Re: Probleme beim Datenempfang über i2c von Sebastian - 27.06.2006 12:12

Hallo nochmal,

habe das Problem gelöst. Einfach nach dem i2c.start(161) ein sleep 5 einfügen,
damit er etwas Zeit hat korrekte Daten zu empfangen.


> Hi Jens,
>
> die Sensoren sind von einer Firma namens HL Planartechnik. Schätze mal die werden nicht so weit verbreitet sein,
> dass es dafür Module gibt...
>
> Wo finde ich denn die Module für die Dallas-Sensoren??
>
>
> Grü�e
>
> > Hallo,
> >
> > um welchen Temperatursensor handelt es sich denn? Für die Dallas-Sensoren gibt es entsprechende
> > Module, mit denen klappt es.
> >
> > GruÃ? Jens
> >
> >
> > > Hallo an alle,
> > >
> > > ich habe folgendes Skript geschrieben:

> > >
> > >
> > >
> > > byte i, datain[4];
> > >  int tobj, tamb;
> > >
> > >  if i2c.start(160)                      
> > >  {
> > >   i2c.write(7);                          //write-Befehl, Sende command "7"
> > >   i2c.stop();
> > >  }
> > >  else i2c.stop();
> > >
> > >  
> > >  if i2c.start(161)
> > >  {
> > >   for i = 0...2
> > >   {
> > >   datain[i]=i2c.read();                  //3 Byte vom Bus mit ACK lesen
> > >   }
> > >   datain[3]=i2c.readlast();              //Letztes Byte ohne ACK lesen
> > >   i2c.stop();
> > >  }
> > >  else i2c.stop();
> > >  
> > >
> > >  tamb = (256*datain[0]+datain[1]);       //Umgebungstemperatur berechnen
> > >  tobj = (256*datain[2]+datain[3]);       //Objekttemperatur berechnen
> > >
> > >  lcdext.goto(1,6);                       //Temperaturen
> > >  lcdext.zahl4n1(tamb);                   // auf
> > >  lcdext.goto(2,6);                       //  LCD-Display
> > >  lcdext.zahl4n1(tobj);                   //   schreiben
> > >
> > > sleep 500;

> > >
> > > Kurze Programmbeschreibung:
> > >
> > > Mit diesen Zeilen soll ein Temperatursensor betrieben werden.
> > > Laut Beschreibung des Sensors muss einfach nur ein Command gesendet (7=0b0111)
> > > und danach 4 Bytes eingelesen werden. Diese werden dann in 2 Temperaturwerte umgerechnet.
> > >
> > > Ich lasse dieses Skript als Loop laufen, Problem ist jetzt, dass ich in jedem
> > > 2. Durchlauf auf allen Bytes den Wert 255 (bzw.-1) empfange.
> > > Woran liegts? Ist der Code so wie ich ihn programmiert habe überhaupt korrekt?
> > >
> > >
> > > MfG Sebastian


    Antwort schreiben


Antworten:

Re: Probleme beim Datenempfang über i2c (von KönigDickBauch - 28.06.2006 8:40)