PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 8x8Byte Variable speichern - wie



dl1akp
14.12.2005, 06:08
Hallo,

wie kann ich mehrere 64Bit-Werte speichern und Abrufen (hier also speziell die IDs mehrerer DS18B20)?

Ich möchte die IDs im Programm speichern um dann spezielle Sensoren anzusprechen und auszulesen?

Wie geht sowas??

Danke, Andreas

Ratber
14.12.2005, 11:58
In Kurzform:

-In 4 16-Bit Werte Zerlegen

-Als String speichern

-Nur die letzten (LSB) 2 Byte speichern

-Nur die letzten (LSB) 2 Byte speichern und die Checksumme der ganzen nummer

zwanzischmark
14.12.2005, 15:52
hey genau das ist auch mein Problem! Mir fehlt auch ein zweidimensionales Array um meine DS18B20 IDs zu speichern. Ich kann nur als Tipp schonmal sagen das es reicht das 2.,3.,4. und 8. Byte zu speichern, weil der rest bei allen Sensoren gleich ist. Zur Zeit hab ich für jeden Sensor ein eigeness Array aber wenn es Mehrdimensionale Array gäbe würde das ne menge quellcode sparen...

Ratber
14.12.2005, 18:20
Ja das meinte ich mit "Nur die letzten (LSB) 2 Byte speichern "
also zb. 4 und 8
Es ist recht unwarscheinlich das man je welche bekommt wo beide Bytes Identisch sind.

PicNick
14.12.2005, 18:39
Wenn der Compiler kein mehrdimensionales Array kann, kannst du es doch auch selbst machen ? Ist doch nur eine index-rechnerei ?

dl1akp
15.12.2005, 06:14
Hallo,

danke für die Antworten, aber als Anfänger habe ich keine Ahnung wovon ihr redet!!

Kann mal jemand einen kurzen Code posten?
Ich muß doch, nachdem ich das MATCh ROM command gesendet habe, den 64Bit-Code an den DS18B20 senden, damit der entsprechende weis, wer gemeint ist.

wie geht das mit 4x 16Bit Variablen?
Und wie speichere ich die für z.B. 5 Sensoren?

Klingt vielleicht dilletantisch, aber muß erst mal das Prinzip an einem Beispiel gesehen haben, damit ich weiterkomme...

Danke im Voraus, ANdreas

Ratber
15.12.2005, 11:42
Machen wir doch den Rundschlag.
Da man das Rad nicht unbedingt Zweimal erfinden muß verweise ich mal auf die Lektüre der Applikationsnotes bei Mcselec (www.mcselec.com) (BASCOM) hin.

Da gibt es einige AN's die den 18x20 nutzen.
Informativ sind die AN's für BASCOM-8051 (AN04,06,07,24).
Die Beispiele lassen sich leicht auf die AVR-Version übertragen da fast dentisch.
Bei BASCOM-AVR wäre da noch die AN111 zu nennen.


Les mal in ruhe durch.
Mit den Beispielen solltest du weiterkommen.