Suga koubou
/
SPIRAM_23LC1024
SPI RAM 23LC1024 (Microchip) 1Mbit see: http://mbed.org/users/okini3939/notebook/extend-memory/
Revision 0:c5ba7d914282, committed 2012-11-09
- Comitter:
- okini3939
- Date:
- Fri Nov 09 00:32:20 2012 +0000
- Child:
- 1:a7b1803dfa44
- Commit message:
- 1st build
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 Fri Nov 09 00:32:20 2012 +0000 @@ -0,0 +1,88 @@ +/* + * SPI RAM 23LC1024 (Microchip) + */ +#include "mbed.h" + +#define CMD_READ 0x03 +#define CMD_WRITE 0x02 +#define CMD_RDMR 0x05 +#define CMD_WRMR 0x01 + +DigitalOut myled(LED1); +Serial pc(USBTX, USBRX); + +SPI spi(p11, p12, p13); // mosi, miso, sclk +DigitalOut cs(p17); + +int ram_write (int addr, char *buf, int len) { + int i; + + cs = 0; + spi.write(CMD_WRITE); + spi.write((addr >> 16) & 0xff); + spi.write((addr >> 8) & 0xff); + spi.write(addr & 0xff); + + for (i = 0; i < len; i ++) { + spi.write(buf[i]); + } + cs = 1; + return i; +} + +int ram_read (int addr, char *buf, int len) { + int i; + + cs = 0; + spi.write(CMD_READ); + spi.write((addr >> 16) & 0xff); + spi.write((addr >> 8) & 0xff); + spi.write(addr & 0xff); + + for (i = 0; i < len; i ++) { + buf[i] = spi.write(0); + } + cs = 1; + return i; +} + +int main() { + int i; + char buf[256]; + + cs = 1; + pc.baud(115200); + wait_ms(500); + + cs = 0; + spi.write(CMD_RDMR); + printf("RAM mode: %02x\r\n", spi.write(0)); + cs = 1; + + printf("RAM write\r\n"); + strcpy(buf, "Hello!"); + ram_write(0, buf, 6); + + for (i = 0; i < 256; i ++) { + buf[i] = i; + } + ram_write(6, buf, 256); + + wait_ms(500); + memset(buf, 0, 256); + + printf("RAM read\r\n"); + ram_read(0, buf, 256); + for (i = 0; i < 256; i ++) { + printf(" %02x", buf[i]); + if ((i & 0x0f) == 0x0f) + printf("\r\n"); + } + + while(1) { + myled = 1; + wait(0.2); + myled = 0; + wait(0.2); + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Nov 09 00:32:20 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e2ed12d17f06 \ No newline at end of file