mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TSL 2561 I2C Kommunikationsproblem


Autor: mar3kus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich versuche schon seit einiger Zeit den TSL2561T von Taos zum laufen zu 
bekommen. Das Teil ist ein Light-to-digital Konverter mit I2C Bus.
Datenblatt: 
http://www.taosinc.com/getfile.aspx?type=press&fil...

Mittlerweile habe ich auch ansatzweise eine Kommunikation realisiert, 
was sich aber nur in völlig falschen Rüchgabewerten äußert bzw Werten 
die sich gar nicht erst ändern.

Das Bauteil hängt an einer C-Control Pro mega128 Unit. Hier mal mein 
bisheriger Quelltext nach der Vorlage im Datenblatt (S. 18 unteres 
Beispiel).
#define addr_licht1 0x72 //01110010 Float, laut Datenblatt Adresse des Bauteils mit ADDR-Pin im float-Zustand und Write-Mode 

int Read_TS2561(byte addr_ts2561) {
    int i_result;
    byte b_high, b_low;

    I2C_Start();
    I2C_Write(addr_ts2561);
    I2C_Write(0x8C);
    I2C_Start();
    I2C_Write(addr_ts2561+1); //Read-Mode
    b_low = I2C_Read_ACK();
    I2C_Stop();

    I2C_Start();
    I2C_Write(addr_ts2561);
    I2C_Write(0x8D);
    I2C_Start();
    I2C_Write(addr_ts2561+1); //Read-Mode
    b_high = I2C_Read_ACK();
    I2C_Stop();

    i_result = b_high << 8;
    i_result = i_result + b_low;

    return i_result;
}

//Aufruf der Funktion
int i_licht1;
i_licht1 = Read_TS2561(addr_licht1);

Was ich persönlich noch ein bisschen komisch finde ist, dass bei einer 
Write-Operation das letzte Bit der Adresse Null sein soll, laut 
Datenblatt (S. 10). Zum einen funktioniert dann überhaupt keine 
Kommunikation mehr, zum anderen habe ich das bisher noch nie so herum 
gesehen.

Wäre sehr dankbar, wenn jemand vllt einen funktionierenden Quelltext 
anbieten könnte oder den Bug findet.
Gruß Markus

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hello!

I have problems with tsl2561 too... is it possible to write your 
problems in english?

bye
        Marko

Autor: mar3kus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ok I try my very best xD

i had some problems with the communication, I hadn't received anything 
from the tsl2561.
Since my last post I already made some progress. Now the devices 
responds but there are still problems when I tried to calculate the lux 
value of the brightness.

I attached the routine which already works and reads the two values of 
ADC0 and ADC1

remember: This is CompactC source code for the Conrad C-control Units!

markus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.