-
-
Grundlagen 1wire Bus
Hallo
Ich hab lange rumgetan um den 1wireBus zu benutzen und bin dann durch SourceCodeKlau weitergekommen.
Meine Frage ist - der Unterschied zwischen z.B 1wread(9) und 1wread().
Wird bei 1wread alles ausgelesen und bei 1wread nur 9 bit?
Ich bhab die Syntax nicht verstanden. Wer weiss darüber was???
Danke
Günther
-
Erfahrener Benutzer
Roboter Genie
Nicht ganz.
1wread liest 1 BYTE, 1wread(9) also 9 BYTE.
Gruß Rolf
-
Erfahrener Benutzer
Fleißiges Mitglied
An was bist du denn gerade dran an einem ds1820 oder so.
ich habe vor ein paar wochen angefangen so einen auszulesen.
mfg
-
@Rolf
Danke. Eigentlich logisch
@AVRboy
Ich hab mir mit dem 8535 eine DCF77 Uhr gebaut und will da hinein auch meine Heizungsregelung bringen.
Jetzt hab ich beim Auslesen der DS1822 manchmal falsche Temperaturwerte.Die Hilfe vom Bascom sagt :
The devices are equipped with a CRC-generator - the LSByte of the sending is always a checksum.
Diese CRC will ich noch nutzen, kann sie aber nicht finden (
-
Erfahrener Benutzer
Roboter Genie
Hallo,
CRC steht im letzten (9.) Byte.
Hier im Forum sind auch schon diverse Code für den ds1820 geposted, such mal nach crc im Bascom-Forum.
Bei Maxim findest du im Datenblatt des Sensors auch eine Spezifikation.
Gruß Rolf
-
Erfahrener Benutzer
Fleißiges Mitglied
hi,
wenn du deinem ds1822 das commando 33h wie im datenblatt schickst (geht nur wenn nur ein 1wire am bus ist) schickst sendet er dir als erstes seine seinen familycode (8bit lang) dann seine serialnumber (48 bit lang) und zuletzt die crc (8Bit lang) das kann man ungefähr so auslesen
1wreset
1wwrite Read_rom
Family_code = 1wread()
For I = 1 To 6
Serial_number(i) = 1wread()
Next
Crc = 1wread()
If Family_code <> Ds1820 Then
.....................
vielleicht hilfts ja.
mfg
-
@AVRboy
Danke für die Hilfe
Ich werd´s sobald ich dazu komme versuchen.
Gruß
Günther
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen