Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: 2 long Variable speichern Kategorie: Programmierung (von André H. - 18.05.2007 11:02)
Als Antwort auf 2 long Variable speichern von hannes - 14.05.2007 12:38
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0, OSOPT V3.1
Hallo Hannes,

> ich schon wieder....
>
> möchte nach einer Sollwerteingabe diese in der "C-Control Station II",
> mit ? putlong ( byte dest[], int pos, Zwischenposition), abspeichern
> und diese bei Programmstart, mit Zwischenposition = getlong ( byte src[], int pos ), einlesen...
>
> aber wie bekomme ich dest[], src[] und pos ???

Wenn Du Fragen zu Funktionen einzelner Module hast, gibt bitte an, welches Modul Du meinst.
Der Syntax in C2 ist "Modulname.Funktion()".
Nicht jeder kann hier erkennen, daÃ? Du das Modul mem.c2, und damit
mem.putlong() und mem.getlong() meinst.

Das nächste wäre: RTFM
Im Handbuch steht deutlich, daÃ? das Modul mem.c2 dazu dient, Byte-Puffer-Variablen
(oder kurz: Byte-Arrays) zu manipulieren (besser: bearbeiten).
Es hat nicht mit Speichern von Werten zu tun.
Die Hauptanwendungen hierfür findest Du im Handbuch.
Zusätzlich, da das Modul seit Erstellen des Handbuchs noch weitere Funktionen bekommen hat,
solltest Du Dir die Hilfe-HTML zu dem Modul durchlesen.

Die von Dir genannten Funktionen dienen dazu, ein Longwerte in einzelne Bytes zu zerlegen
und in Arrays zuschreiben und umgekehrt.

Wenn Du Daten ausfallsicher speichern möchtest, gibt es momentan drei Möglichkeiten:
1. der interne Flash
   Hier kannst Du mit Hilfe von flash.c2 schreibend und lesen auf den Flash der CC2 zugreifen.
   Komplett frei verwendbar sind hier die Segmente 1 und 2 (je 64kB).
   Beachte bitte, daÃ? der Flash nur Sektorweise löschbar ist.
   Werte können nicht einfach überschrieben werden.
   Daher ist die Nutzung des internen Flash eher für Datenerfassung sinnvoll.
   Beachte auch, daÃ? der Flash nur für 100.000 Schreib-Löschzyklen (pro Segment) ausgelegt ist.
   Aber für sich selten ändernde Konfigurationsdaten sollte das nicht hinderlich sein.
2. externes EEProm am I²C-Bus
   Das ist für Konfigurationsdaten meist die sinnvollste Lösung.
   Mit dem Modul eeprom.c2 kannst Du wahlfrei auf serielle EEProms zugreifen.
   serielles I²C-Bus-EEProms können etwa 1Mio. mal beschrieben werden. (pro Speicherzelle=Byte)
3. gepufferter RAM
   Hier gibt es einerseits meine RAM-Devices, welche mit Goldcap bzw. Batterie gepuffert werden,
   aber auch die gepufferten Uhrenbausteine, welche zusätzlich zu Uhrfunktion noch speicher bieten.
   Bei den Uhrenbausteinen (PCF-UHR-ED & PCF-RTC-EEProm) hast Du mit der CC2
   238Byte Speicher zur freien Verwendung beim PCF-RTC-EEProm kannst Du zusätzlich
   ein EEProm aufstecken.
   Der Vorteil an gepuffertem RAM ist der, daÃ? ein solcher Speicher keinem VerschleiÃ? unterliegt.
   D.h., es sind unendlich viele Schreibzyklen möglich.
   Wenn Du evtl. mit dem Gedanken spielst, eine Goldcap-gepufferte Uhr an Deine CC2
   anzuschlieÃ?en, wäre das sie einfachste Möglichkeit, ein paar Konfigurationsdaten
   ausfallsicher zu speichern.

MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: