Hallo Gemeinde
Habe mit dem TCS 34725 und dem Datenblatt des Herstellers so meine
Probleme.
Im Grund geht es eigentlich darum, die entsprechenden Register zu
beschreiben und auszulesen.
Im Datenblatt auf Seite 12 wird das
1. Schreiben des Registers
2. Lesen der Datenregister
3. der Kombibetrieb
angegeben. Auf Seite 13 wird das Register Set mit Register Adressen
angegeben, gefolgt auf Seite 14 mit dem Command Register, Seite 15
Enable Register usw.
Frage dazu: Wie beschreibe ich bei diesem IC die Register?
Bisher habe ich das gemacht:
1 | i2c_start(TCS_w);
|
2 | i2c_write(0x1f); //Wert in Register
|
3 | i2c_stop();
|
Könnte noch andere Werte ins Register schreiben oder Einstellungen damit
vornehmen. Wie schrebe ich was ins Register und lese die Daten aus?
1 | ret = i2c_start(MCP_w); // Start Lesen
|
2 | if (ret == 0)
|
3 | { // Wenn ?? ein OK sendet...
|
4 | msb_temp = i2c_readAck(); //...speichere oberes Bit
|
5 | lsb_temp = i2c_readNak(); //...speichere unteres Bit
|
6 | }
|
7 | else // Fehlererkennung
|
8 | { // Wenn ?? kein OK sendet
|
9 | lcd_command(LCD_CLEAR); // Leere Display
|
10 | lcd_printlc(1,13,"READ"); // "Lesevorgang"
|
11 | lcd_printlc(2,13,"NOK"); // "Nicht OK (NOK)"
|
12 | }
|
oberes Beispiel für das Auslesen einer 16 Bit Zahl mit überprüfung. Da
in diesem IC 4 Werte gelesen werden sollen erfolgt das ebenfalls mit
Register.
Leider verstehe ich das Datenblatt nicht korrekt und bekomme keine
Werte.
Könnte jemand zu meiner Erleuchtung betragen?
Dank
LG Frg