Im Zuge eine Diplomarbeit mit dem Tini DS80C400-KIT habe ich ein paar
Grundlegende fragen:
Ich möchte ganz einfach, mittels eine Java Programmes die Temperatur von
einem DS1621 auslesen. Die read und write Befehle kenne ich und Java
Grundkenntnisse sind auch vorhanden. Ich habe mit dem Board schon ein
LCD Display erfolgreich angesteuert, also der I²C Bus funktioniert.
Leider bekomme ich keine Daten vom Temp Sensor.
Code auszug:
1 | I2CPort port = new I2CPort();
|
2 | port.slaveAddress = (byte)0x48;
|
3 | port.setClockDelay((byte)2);
|
4 | byte[] b = new byte[2];
|
5 | b[0] = (byte)0xEE;
|
6 | if (port.write(b,0,1) < 0)
|
7 | {
|
8 | System.out.println("Fehler beim Temperatur Konvertieren");
|
9 | return;
|
10 | }
|
11 | b[0] = (byte)0xAA;
|
12 | if (port.write(b,0,1) < 0)
|
13 | {
|
14 | System.out.println("Fehler beim Lese Kommando");
|
15 | return;
|
16 | }
|
17 | if (port.read(b,0,2) < 0)
|
18 | {
|
19 | System.out.println("Fehler beim lesen");
|
20 | return;
|
21 | }
|
Sensor ist sicher richtig angeschlossen:
A0,A1 und A2 sind alle auf GND, T0 (Thermostat) ist NC
SDA ,SCL und Vcc sind auch richtig angschlossen.
Ich weiss nicht mehr wo der Fehler sein kann, hab schon 3 gleich
Sensoren ausprobiert. Beim Display funktioniert alles.
Ich glaub es kann nur mehr am .setClockDelay((byte)2); liegen.
Ist das bei jedem IC anders?
Der Board Hersteller hat bei seinem Test Programmen auch 2 genommen.
Das Display läuft auch ohne Probleme mit 2.
MFG Markus