FRAM lesen/schreiben

Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2078
Registered: 03 / 2003
Subject:

FRAM lesen/schreiben

 · 
Posted: 02.01.2015 - 23:07  ·  #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
Administrator
Avatar
Gender:
Location: Germany
Age: 59
Posts: 953
Registered: 09 / 2007
Subject:

Re: FRAM lesen/schreiben

 · 
Posted: 03.01.2015 - 17:06  ·  #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
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2078
Registered: 03 / 2003
Subject:

Re: FRAM lesen/schreiben

 · 
Posted: 03.01.2015 - 17:52  ·  #3
Hi miparo,

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

Gruss
Harry
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2078
Registered: 03 / 2003
Subject:

Re: FRAM lesen/schreiben

 · 
Posted: 03.01.2015 - 19:49  ·  #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
Gender: n/a
Posts: 526
Registered: 02 / 2007
Subject:

Re: FRAM lesen/schreiben

 · 
Posted: 19.01.2019 - 17:58  ·  #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.
You must be logged in or your permissions are to low to see this Attachment(s).
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   92   106 · Page-Gen-Time: 0.023471s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI