Forum: Mikrocontroller und Digitale Elektronik Srf02 Problem


von Luke (Gast)


Lesenswert?

hallo..



habe folgendes problem:
wenn der srf02 außer reichweite misst, dann kommt er nicht weiter

char i2c_read(char address, char reg)
{
char read_data = 0;

   TWCR = 0xA4;
   while(!(TWCR & 0x80));
   TWDR = address;
   TWCR = 0x84;
   while(!(TWCR & 0x80));
   TWDR = reg;
   TWCR = 0x84;
   while(!(TWCR & 0x80));

   TWCR = 0xA4;
   while(!(TWCR & 0x80));
   TWDR = address+1;
   TWCR = 0xC4;
   while(!(TWCR & 0x80));
   TWCR = 0x84;
   while(!(TWCR & 0x80));                 //--> kommt nicht weiter
   read_data = TWDR;
   TWCR = 0x94;
   return read_data;

}

was könnte ich machen, damit er diesen schritt überspringt ?
oder soll ich nach einer gewissen zeit abbrechen ?

mfg

von Luke (Gast)


Lesenswert?

status code ist 0x48   // bei der besagten zeile
ist da ein fehler ??

von Teco (Gast)


Lesenswert?

ich habe auch an der besagten stelle ein problem. bei mir bleibt er auch 
an dieser position hängen, jedoch macht es keinen unterschied ob der 
senor frei misst oder ich die hand davor halte.

ist eine lösung für dieses PROBLEM bekannt???

von Teco (Gast)


Lesenswert?

wenn ich bei mir die besagte while-Schleife ausklammere und die abfrage 
starte wird als ergebniss immer 225 geliefert. egal ob high- bzw. 
low-register oder fireware version.

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.