Library to drive the Microchip 23K256 SRAM over SPI.

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
romilly
Date:
Sat Aug 14 20:15:08 2010 +0000
Child:
1:28eb43851e6e
Commit message:

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Aug 14 20:15:08 2010 +0000
@@ -0,0 +1,72 @@
+#include "mbed.h"
+
+DigitalOut ncs(p14);
+
+SPI spi(p5,p6,p7);
+
+void on() {
+    ncs = 0;
+}
+
+void off() {
+    ncs = 1;
+}
+
+void write(int address, char byte) {
+    on();
+    spi.write(0x02); // write data
+    spi.write(address >> 8);
+    spi.write(address & 0xFF);
+    spi.write(byte);
+    off();
+}
+
+
+void write(int address, char * buffer, int count) {
+    on();
+    spi.write(0x01); // write status
+    spi.write(0x40); // sequential mode
+    off();
+    on();
+    spi.write(0x02);
+    spi.write(address >> 8);
+    spi.write(address & 0xFF);
+    for (int i = 0; i < count; i++) {
+        spi.write(buffer[i]);
+    }
+    off();
+    on();
+    spi.write(0x01); // write status
+    spi.write(0x0); //  byte mode
+    off();
+}
+
+
+char read(int address) {
+    on();
+    spi.write(0x03);
+    spi.write(address >> 8);
+    spi.write(address & 0xFF);
+    int result = spi.write(0);
+    off();
+    return (char) result;
+}
+
+int main() {
+    off();
+    char buff[50];
+    write(0, 'h');
+    write(1, 'i');
+    write(2, '!');
+    write(3, '\0');
+    for (int address = 0; address < 4; address++) {
+        buff[address] = read(address);
+    }
+    printf("mem = %s\r\n", buff);
+    write(0, "Hello world!",12);
+    for (int address = 0; address < 12; address++) {
+        buff[address] = read(address);
+    }
+    buff[12]='\0';
+    printf("now = %s\r\n", buff);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sat Aug 14 20:15:08 2010 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9114680c05da