A ferroelectric random access memory or F-RAM is nonvolatile and performs reads and writes similar to a RAM.

Dependents:   Memoria

Committer:
yangcq88517
Date:
Tue Feb 03 19:56:43 2015 +0000
Revision:
0:e4b7a2f63736
Child:
1:b9f6d029c760
FM24V10

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 0:e4b7a2f63736 1 #ifndef UK_AC_HERTS_SMARTLAB_FM24V10
yangcq88517 0:e4b7a2f63736 2 #define UK_AC_HERTS_SMARTLAB_FM24V10
yangcq88517 0:e4b7a2f63736 3
yangcq88517 0:e4b7a2f63736 4 #include "mbed.h"
yangcq88517 0:e4b7a2f63736 5
yangcq88517 0:e4b7a2f63736 6 class FM24V10
yangcq88517 0:e4b7a2f63736 7 {
yangcq88517 0:e4b7a2f63736 8 public :
yangcq88517 0:e4b7a2f63736 9 enum SPEED_MODE {
yangcq88517 0:e4b7a2f63736 10 STANDARD,FULL,FAST,HIGH
yangcq88517 0:e4b7a2f63736 11 };
yangcq88517 0:e4b7a2f63736 12
yangcq88517 0:e4b7a2f63736 13 FM24V10(PinName sda, PinName scl, bool A1, bool A2);
yangcq88517 0:e4b7a2f63736 14
yangcq88517 0:e4b7a2f63736 15 FM24V10(PinName sda, PinName scl, bool A1, bool A2, SPEED_MODE speed);
yangcq88517 0:e4b7a2f63736 16
yangcq88517 0:e4b7a2f63736 17 void WriteShort(int position, int value, bool Hs_mode);
yangcq88517 0:e4b7a2f63736 18
yangcq88517 0:e4b7a2f63736 19 void WriteShort(int position, int * value, int size, bool Hs_mode);
yangcq88517 0:e4b7a2f63736 20
yangcq88517 0:e4b7a2f63736 21 void ReadShort(int position, int * value, int size, bool Hs_mode);
yangcq88517 0:e4b7a2f63736 22
yangcq88517 0:e4b7a2f63736 23 int ReadShort(int position, bool Hs_mode);
yangcq88517 0:e4b7a2f63736 24
yangcq88517 0:e4b7a2f63736 25 private :
yangcq88517 0:e4b7a2f63736 26 static const int HS_COMMAND = 0x09;
yangcq88517 0:e4b7a2f63736 27
yangcq88517 0:e4b7a2f63736 28 static const int FREQUENCY_STANDARD = 100000;
yangcq88517 0:e4b7a2f63736 29 static const int FREQUENCY_FULL = 400000;
yangcq88517 0:e4b7a2f63736 30 static const int FREQUENCY_FAST = 1000000;
yangcq88517 0:e4b7a2f63736 31 static const int FREQUENCY_HIGH = 3200000;
yangcq88517 0:e4b7a2f63736 32
yangcq88517 0:e4b7a2f63736 33 I2C _i2c_bus;
yangcq88517 0:e4b7a2f63736 34 int _speed;
yangcq88517 0:e4b7a2f63736 35 int _addr;
yangcq88517 0:e4b7a2f63736 36
yangcq88517 0:e4b7a2f63736 37 int result;
yangcq88517 0:e4b7a2f63736 38
yangcq88517 0:e4b7a2f63736 39 void Init(bool A1, bool A2);
yangcq88517 0:e4b7a2f63736 40
yangcq88517 0:e4b7a2f63736 41 void GetSlaveAddress(int position);
yangcq88517 0:e4b7a2f63736 42
yangcq88517 0:e4b7a2f63736 43 void StartHS();
yangcq88517 0:e4b7a2f63736 44
yangcq88517 0:e4b7a2f63736 45 void StopHS();
yangcq88517 0:e4b7a2f63736 46 };
yangcq88517 0:e4b7a2f63736 47
yangcq88517 0:e4b7a2f63736 48 #endif