Chihiro H
/
Microchip23LC1024_demo
Microchip SPI SRAM 23LC1024 demo
Diff: main.cpp
- Revision:
- 1:4b45ee2c9b51
- Parent:
- 0:9750a875cbda
- Child:
- 2:e0d7ea47d2a5
--- a/main.cpp Sat Feb 28 03:42:02 2015 +0000 +++ b/main.cpp Mon Nov 09 12:05:33 2015 +0000 @@ -28,28 +28,25 @@ } /* - * SPI COMMAND (Microchip 23K256 SRAM) - * 1byte read/write - * page read/write - * sequential read/write - * status/configuration register read/write + * SPI COMMAND (Microchip 23LC1024, 23K256 SPI SRAM) */ enum Microchip23K256Commnd { READ = 0x03u, WRITE = 0x02u, - RDSR = 0x05u, - WRSR = 0x01u, EDIO = 0x3bu, EQIO = 0x38u, RSTIO = 0xffu, + RDSR = 0x05u, + WRSR = 0x01u, }; -/** SRAM Mode (Microchip 23K256 SRAM) */ +/** SRAM Mode (Microchip 23LC1024, 23K256 SPI SRAM) */ enum Microchip23K256Mode { MODE_MASK = 0xc0u, BYTE = 0x00u, SEQUENTIAL = 0x40u, // default operation PAGE = 0x80u, + RESERVED = 0xC0u, }; /** @@ -212,8 +209,6 @@ try_byte_access() { const uint8_t size = 16; - change_mode(BYTE); - // write data for (int i = 0; i < size; i++) { write_byte(i, i); @@ -239,8 +234,6 @@ const uint32_t address = 0x1000; const uint32_t size = 32; - change_mode(PAGE); - // write for (uint32_t i = 0; i < size; ++i) { buf[i] = i; @@ -269,8 +262,6 @@ const uint32_t address = 0x2000; const uint32_t size = 256; - change_mode(SEQUENTIAL); - // write for (uint32_t i = 0; i < size; ++i) { buf[i] = i; @@ -350,16 +341,23 @@ wait_until_user_button_pressed(); try_single_byte_access(); + pc.printf("\r\npush user button to start: try_sequential_access (default)\r\n"); + wait_until_user_button_pressed(); + try_sequential_access(); + pc.printf("\r\npush user button to start: try_byte_access\r\n"); wait_until_user_button_pressed(); + change_mode(BYTE); try_byte_access(); pc.printf("\r\npush user button to start: try_page_access\r\n"); wait_until_user_button_pressed(); + change_mode(PAGE); try_page_access(); pc.printf("\r\npush user button to start: try_sequential_access\r\n"); wait_until_user_button_pressed(); + change_mode(SEQUENTIAL); try_sequential_access(); pc.printf("\r\nTEST END\r\n\r\n");