Basic fram test for spi connectivity

Dependencies:   mbed

Committer:
smigielski
Date:
Sat Jan 31 19:30:16 2015 +0000
Revision:
5:25197dce2db7
Parent:
4:a12fae0b702b
add write disable

Who changed what in which revision?

UserRevisionLine numberNew contents of line
smigielski 0:94b74988d717 1 #include "mbed.h"
smigielski 0:94b74988d717 2
smigielski 3:f71a526212cc 3 SPI spi(P0_2, P0_3, P0_4); // mosi, miso, sclk
smigielski 1:711a282f7332 4 DigitalOut cs(P0_30);
smigielski 3:f71a526212cc 5 DigitalOut hold(P0_1);
smigielski 0:94b74988d717 6
smigielski 0:94b74988d717 7
smigielski 0:94b74988d717 8 // ACC Registers
smigielski 0:94b74988d717 9 #define FM25CL_WREN 0x06
smigielski 0:94b74988d717 10 #define FM25CL_WRDI 0x04
smigielski 0:94b74988d717 11 #define FM25CL_RDSR 0x05
smigielski 0:94b74988d717 12 #define FM25CL_WRSR 0x01
smigielski 0:94b74988d717 13 #define FM25CL_READ 0x03
smigielski 0:94b74988d717 14 #define FM25CL_WRITE 0x02
smigielski 0:94b74988d717 15
smigielski 0:94b74988d717 16 #define TEST_LENGTH 4
smigielski 0:94b74988d717 17
smigielski 2:d11473ce92d6 18 void readRegister(){
smigielski 0:94b74988d717 19 cs = 0;
smigielski 0:94b74988d717 20 spi.write(FM25CL_RDSR);
smigielski 0:94b74988d717 21 //should be 0x00
smigielski 0:94b74988d717 22 uint8_t val_register = spi.write(0x00);
smigielski 2:d11473ce92d6 23 cs = 1;
smigielski 2:d11473ce92d6 24 }
smigielski 5:25197dce2db7 25 void sendCommand(uint8_t reg){
smigielski 2:d11473ce92d6 26 cs = 0;
smigielski 5:25197dce2db7 27 spi.write(reg);
smigielski 2:d11473ce92d6 28 cs = 1;
smigielski 2:d11473ce92d6 29 }
smigielski 0:94b74988d717 30
smigielski 0:94b74988d717 31 //Test that spi is working with fram FM25CL memory
smigielski 5:25197dce2db7 32 //mosi: || 0x05 0x00 || 0x06 || 0x05 0x00 || 0x06 ||
smigielski 5:25197dce2db7 33 //miso: || 0x00 0x00 || 0x00 || 0x00 0x02 || 0x00 ||
smigielski 0:94b74988d717 34 int main() {
smigielski 0:94b74988d717 35 hold=1;
smigielski 0:94b74988d717 36 cs=1;
smigielski 0:94b74988d717 37 while(1) {
smigielski 2:d11473ce92d6 38 readRegister();
smigielski 5:25197dce2db7 39 sendCommand(FM25CL_WREN);
smigielski 2:d11473ce92d6 40 readRegister();
smigielski 5:25197dce2db7 41 sendCommand(FM25CL_WRDI);
smigielski 0:94b74988d717 42 wait(0.5);
smigielski 0:94b74988d717 43 }
smigielski 0:94b74988d717 44 }
smigielski 0:94b74988d717 45