Hilfe bei I2C & SRF10 auf AVR

Gast #577921
Lesenswert?
• ▲
▼
Hallo Leuts,

ist mir ein bissl peinlich, aber ich habe gerade eine leichte Blockade 
bzgl. Software I2C Master auf einem AVR (ATmega16).
Ich habe mir ein SW I2C Master geschrieben um ein SRF10 Modul auszulesen 
bzw. anzusteuern. Aber das Modul reagiert leider nicht. Ich bekomme noch 
nichtmal ein Acknowledge des Moduls (per bI2CheckAddress).

Mein Hauptprogramm sieht so aus :

void main (void)
{
  vLCDInit();
  vI2CInit();

  while (1)
  {


    vLCDSetPos (13, 0);
     if (bI2CCheckAddress (0xe0, 0)) { vLCDWriteLine ("Ok"); } else { 
vLCDWriteLine ("NOk"); }


    for (ucC = 0; ucC < 64; ucC ++)
    {
      _delay_loop_2 (10000);
    }

    ucCount++;
    vLCDSetPos (13, 1);
    vLCDWriteHex (ucCount);


  }
}


Hat jemand ne idee was ich falsch mache ? Falsche Makros für die 
Port-Pinne  ? Timing kanns nicht sein da ich ein recht großzügiges delay 
habe.
Falsche Modul-Adresse kanns auch nicht sein da mir das Modul adresse E0 
anzeigt.
Mein SDA & SCL liegen auf PORTA.0 und PORTA.1.

Muß man den AD-Wandler separat abschalten (oder wegfusseln) um die Port 
Pins zu nutzen ?

Weiß leider nicht mehr so recht was ich falsch gemacht haben könnte und 
habe gerade auch kein Oszi zur Hand. Wär schön wenn mir jemand helfen 
kann.

Gruß
Rene
Angehängte Dateien:
Gast #577938
Lesenswert?
• ▲
▼
einen fehler habe ich gefunden. pucData++ fehlte, das tut aua. das modul 
macht jetzt messungen. allerdings bekomme ich immer noch kein ack.
kann das an der implementierung des i2c-slaves des srf10 liegen ? kann 
mir da jemand erfahrungswerte mitteilen ?
Gast #578343
Lesenswert?
• ▲
▼
so !

hab das modul zum laufen bekommen und es spuckt auch einigermassen 
vernünftige werte aus (mit dem lineal und ner kippenschachtel gemessen).
allerdings habe ich das problem das das modul wenn ich es auf meinem 
schreibtisch liegen habe und den abstand zur decke messen will nur einen 
wert von 30-60 cm anzeigt. ich habe schon mit einigen verstärkungswerten 
experimentiert aber es kommen immer werte < 1m heraus. das kann ja nicht 
sein.
hat jemand eine idee woran das liegen kann ?
wäre schön wenn sich jemand meldet der erfahrung mit einem solchen modul 
hat.

gruß
rene

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.