FRAM lesen/schreiben

Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

FRAM lesen/schreiben

 · 
Gepostet: 02.01.2015 - 23:07 Uhr  ·  #1
Hallo @ all,

nachdem ich schon eine ganze Weile mit einem FRAM rumspiele und es nicht schaffe da was zu schreiben und zu lesen ..... HILFEEEEEEEEEEE :D

Typ FM24CL64

Code

Procedure ReadFM;                      // FM24CL64 lesen
  Begin
    TWIout(EEPROMaddr,0,0);
    TWIinp(EEPROMaddr,FMArr);
    If FMArr[2] in [0..40]
      then
        Contrast:=FMArr[2];
      else
        Contrast:=20;
      EndIf;
    If FMArr[3] in [0..25]
      then
        Backlight:=FMArr[3];
      else
        Backlight:=10;
      EndIf;
  End ReadFM;
  

Procedure WriteFM;                     // FM24CL64 schreiben
  Begin
    If Contrast in [0..40]
      then
        FMArr[2]:=Contrast;
      else
        FMArr[2]:=20;
      EndIf;
    If Backlight in [0..25]
      then
        FMArr[3]:=Backlight;
      else
        FMArr[3]:=10;
      EndIf;
    TWIout(EEPROMaddr,0,0);
    TWIout(EEPROMaddr,0,FMArr);
  End WriteFM;


Das Teil will von mir
lesen: I2C-Adresse ($50), Adresse MSB, Adresse LSB, I2C-Adresse ($50), Daten1, Daten2, ........
schreiben: I2C-Adresse ($50), Adresse MSB, Adresse LSB, Daten1, Daten2, ........

Ich komm damit irgendwie nicht klar :(
Hat jemand ein bisschen Code dafür ? Oder eine Erklärung ?

Gruss & Danke
Harry

PS: Ich hab mir grad mal das gesamt Array nach dem lesen anzeigen lassen und das steht überall $FF drin. Entweder funktioniert das schreiben nicht oder das lesen.
miparo
Schreiberling
Avatar
Geschlecht:
Herkunft: Germany
Alter: 59
Beiträge: 988
Dabei seit: 09 / 2007
Betreff:

Re: FRAM lesen/schreiben

 · 
Gepostet: 03.01.2015 - 17:06 Uhr  ·  #2
Hallo Harry,
warum machst Du dir das so schwer :yawinkle:

Nimm den Device Treiber S.239 im StdManual.
Dort gibt es auch ein Sample dazu.

Gruß
miparo
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: FRAM lesen/schreiben

 · 
Gepostet: 03.01.2015 - 17:52 Uhr  ·  #3
Hi miparo,

das hab ich noch gar nicht gesehen :banghead: :confused5: ..... schau ich mir an. Danke.

Gruss
Harry
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: FRAM lesen/schreiben

 · 
Gepostet: 03.01.2015 - 19:49 Uhr  ·  #4
Falls es jemand interessiert: Die Adresse muß als Word gesendet werden, dann geht es auch. Mit 2 Bytes in Folge funktioniert das nicht.
Da ich nur eine Konfiguration mit 2 Bytes + 2 Dummybytes speichere hab ich die Adresse als Konstante definiert.

DANKE miparo :)

Code

Procedure ReadFM;                      // FM24CL64 lesen
  Const Adr : Word = $0000;
  Begin
    TWIout(FMaddr,Adr);
    TWIinp(FMaddr,FMArr);
    If FMArr[2] in [0..40]
      then
        Contrast:=FMArr[2];
      else
        Contrast:=20;
      EndIf;
    If FMArr[3] in [0..25]
      then
        Backlight:=FMArr[3];
      else
        Backlight:=10;
      EndIf;
  End ReadFM;
  

Procedure WriteFM;                     // FM24CL64 schreiben
  Const Adr : Word = $0000;
  Begin
    If Contrast in [0..40]
      then
        FMArr[2]:=Contrast;
      else
        FMArr[2]:=20;
      EndIf;
    If Backlight in [0..25]
      then
        FMArr[3]:=Backlight;
      else
        FMArr[3]:=10;
      EndIf;
    TWIout(FMaddr,Adr,FMArr);
  End WriteFM;
Lschreyer
Schreiberling
Avatar
Geschlecht: keine Angabe
Beiträge: 527
Dabei seit: 02 / 2007
Betreff:

Re: FRAM lesen/schreiben

 · 
Gepostet: 19.01.2019 - 17:58 Uhr  ·  #5
Ich hatte das hier mal zum Anlass genommen um ein FRAM FM25LS16B (2Kx8) per SPI ans Userdevice zu binden.
Falls jemand das mal benötigt ist hier eine Demodatei die zeigt wie das geht.
Etwas trickreich ist das Schreiben, man muss erst ein WREN-Befehl senden, CS wieder hoch setzen und dann erst schreiben, sonst klappt nicht.

Das Userdevice ist sehr praktisch, damit kann man direkt auf die Variablen zugreifen, und dank Fram ist es superschnell und unendlich oft beschreibbar.
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   93   107 · Page-Gen-Time: 0.023831s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI