Hendrik Lipka
/
Ser25LCxxx_test
test / demo program for the 25LCxxx_SPI library
main.cpp@0:9ae1fdfe973e, 2011-01-26 (annotated)
- Committer:
- hlipka
- Date:
- Wed Jan 26 22:15:15 2011 +0000
- Revision:
- 0:9ae1fdfe973e
initial version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hlipka | 0:9ae1fdfe973e | 1 | #include "mbed.h" |
hlipka | 0:9ae1fdfe973e | 2 | |
hlipka | 0:9ae1fdfe973e | 3 | #include "Ser25lcxxx.h" |
hlipka | 0:9ae1fdfe973e | 4 | |
hlipka | 0:9ae1fdfe973e | 5 | void dumpLine(char* s, int len) |
hlipka | 0:9ae1fdfe973e | 6 | { |
hlipka | 0:9ae1fdfe973e | 7 | for (int i=0;i<len;i++) |
hlipka | 0:9ae1fdfe973e | 8 | { |
hlipka | 0:9ae1fdfe973e | 9 | printf("%X ",s[i]); |
hlipka | 0:9ae1fdfe973e | 10 | } |
hlipka | 0:9ae1fdfe973e | 11 | printf("\n"); |
hlipka | 0:9ae1fdfe973e | 12 | } |
hlipka | 0:9ae1fdfe973e | 13 | |
hlipka | 0:9ae1fdfe973e | 14 | void dump(char *s, int len) |
hlipka | 0:9ae1fdfe973e | 15 | { |
hlipka | 0:9ae1fdfe973e | 16 | int i=0; |
hlipka | 0:9ae1fdfe973e | 17 | while (i<len) |
hlipka | 0:9ae1fdfe973e | 18 | { |
hlipka | 0:9ae1fdfe973e | 19 | if (i+16<len) |
hlipka | 0:9ae1fdfe973e | 20 | dumpLine(s+i,16); |
hlipka | 0:9ae1fdfe973e | 21 | else |
hlipka | 0:9ae1fdfe973e | 22 | dumpLine(s+i,len-i); |
hlipka | 0:9ae1fdfe973e | 23 | i+=16; |
hlipka | 0:9ae1fdfe973e | 24 | } |
hlipka | 0:9ae1fdfe973e | 25 | } |
hlipka | 0:9ae1fdfe973e | 26 | |
hlipka | 0:9ae1fdfe973e | 27 | int main() { |
hlipka | 0:9ae1fdfe973e | 28 | printf("******** [%s] *********\n",__TIME__); |
hlipka | 0:9ae1fdfe973e | 29 | // setup hardware |
hlipka | 0:9ae1fdfe973e | 30 | SPI spi(p5,p6,p7); |
hlipka | 0:9ae1fdfe973e | 31 | spi.format(8,3); |
hlipka | 0:9ae1fdfe973e | 32 | spi.frequency(1000000); |
hlipka | 0:9ae1fdfe973e | 33 | // /CS is connected to p9, chip,in question is a 25LC256 (32kx8, 64-byte page) |
hlipka | 0:9ae1fdfe973e | 34 | Ser25LCxxx flash(&spi, p9, 32768,64); |
hlipka | 0:9ae1fdfe973e | 35 | |
hlipka | 0:9ae1fdfe973e | 36 | int len=128; |
hlipka | 0:9ae1fdfe973e | 37 | |
hlipka | 0:9ae1fdfe973e | 38 | // dump initial memory content (first 2 pages) |
hlipka | 0:9ae1fdfe973e | 39 | char* r=flash.read(0,len); |
hlipka | 0:9ae1fdfe973e | 40 | dump(r,len); |
hlipka | 0:9ae1fdfe973e | 41 | printf("\n"); |
hlipka | 0:9ae1fdfe973e | 42 | |
hlipka | 0:9ae1fdfe973e | 43 | // write some stuff to the first and second page |
hlipka | 0:9ae1fdfe973e | 44 | char buf[64]; |
hlipka | 0:9ae1fdfe973e | 45 | sprintf(buf,"******** [%s] *********\n",__TIME__); |
hlipka | 0:9ae1fdfe973e | 46 | |
hlipka | 0:9ae1fdfe973e | 47 | bool b=flash.write(50,strlen(buf),buf); |
hlipka | 0:9ae1fdfe973e | 48 | |
hlipka | 0:9ae1fdfe973e | 49 | // read written data back (first 2 pages) |
hlipka | 0:9ae1fdfe973e | 50 | r=flash.read(0,len); |
hlipka | 0:9ae1fdfe973e | 51 | dump(r,len); |
hlipka | 0:9ae1fdfe973e | 52 | printf("\n"); |
hlipka | 0:9ae1fdfe973e | 53 | |
hlipka | 0:9ae1fdfe973e | 54 | // clear first page, read first 2 pages back |
hlipka | 0:9ae1fdfe973e | 55 | flash.clearPage(0); |
hlipka | 0:9ae1fdfe973e | 56 | r=flash.read(0,len); |
hlipka | 0:9ae1fdfe973e | 57 | dump(r,len); |
hlipka | 0:9ae1fdfe973e | 58 | printf("\n"); |
hlipka | 0:9ae1fdfe973e | 59 | |
hlipka | 0:9ae1fdfe973e | 60 | // clear everything, read first 2 pages back |
hlipka | 0:9ae1fdfe973e | 61 | flash.clearMem(); |
hlipka | 0:9ae1fdfe973e | 62 | r=flash.read(0,len); |
hlipka | 0:9ae1fdfe973e | 63 | dump(r,len); |
hlipka | 0:9ae1fdfe973e | 64 | printf("\n"); |
hlipka | 0:9ae1fdfe973e | 65 | |
hlipka | 0:9ae1fdfe973e | 66 | } |