Hallo,
Aus dem Datenblatt ...
64Bit = 8Bit+8Bit+8Bit+8Bit+8Bit+8Bit+8Bit+8Bit = 8Byte
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^BitNr = Wertigkeit
2^BitAnzahl = Anzahl der möglichen Werte
Also sind 2^7 = 128 Also ist bei einem Byte (Bit0, Bit1, ...) Bit7 die
Wertigkeit 128
Bei 8 Bit (2^8) gibt es maximal 256 mögliche Werte (0,1,2,...,254,255)
Also da die 64Bit-Seriennummer/ID des Chips ein wenig aufgeteilt ist ...
8-Bit (1Byte) CRC / 48-Bit (6Byte) Seriennummer / 8-Bit (1Byte) FamilyCode
würde ich das in einem 2-Dimensionalen Array speichern. Ich weiß nicht so
recht wie das in Bascom gemacht wird ... Ich nehme mal so an ...
DIM OneWireSN (5, 8) as Byte
OneWireSN (1,1) = CRC Device1
OneWireSN (1,2) = AddrByte1 Device1
...
OneWireSN (1,7) = AddrByte6 Device1
OneWireSN (1,8) = FamilyCode Device1
OneWireSN (2,1) = CRC Device2
So
könnte es gehen ... sieh dir das aber sicherheitshalber nochmal an.
Also wie gesagt 2dimesionales Array. Oder sowas. Ist wohl das einfachste.
EDIT: Also ich hab mal ein wenig gespielt und anscheinend kann Bascom nur
1-dimensionale Arrays. Also anders bezeichnet nur Listen. So ein Mist. Da muß
ich mir mal was überlegen ...
Anhang anzeigen 1841
mein 1Wire-Bus mit nem DS18S20
Also mit Phantomspeisung und einem
Device am Bus läuft es schon. Aber ich wollte eigentlich ein Array mit den
gesamten SN der Devices anlegen. Geht aber nicht. Also werde ich wohl
ein Array mit 8 Zeichen langen Strings anlegen und in den Strings die
Seriennummern auf binärer Art ablegen. Wenn es nicht will dann biegt man
so lange bis es geht
Von hinten durch die Brust ins Auge
Gruß
Dino