Takanobu Muraguchi
/
test_cp2120
test cp2120
Revision 0:7e56d5ba2990, committed 2015-04-09
- Comitter:
- muraguchi
- Date:
- Thu Apr 09 01:53:14 2015 +0000
- Commit message:
- test cp2120
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 Thu Apr 09 01:53:14 2015 +0000 @@ -0,0 +1,89 @@ +#include "mbed.h" + +Serial pc(USBTX, USBRX); // tx, rx + + +SPI spi(p5, p6, p7); // mosi, miso, sclk +DigitalOut rst_n(p8); // +DigitalOut cs_n(p9); + +// p5 : pin19 MOSI +// p6 : pin20 MISO +// p7 : pin01 SCLK +// p8 : pin04 RESET_N + + + + + +int read_reg(int addr); +void write_reg(int addr,int data); + +int read_reg(int addr) { + int retval; + cs_n=0; + wait_us(4000); + spi.write(0x21); + wait_us(1000); + spi.write(addr & 0xFF); + wait_us(1000); + retval = spi.write(0); + wait_us(1000); + retval = spi.write(0); + wait_us(4000); + cs_n=1; + return retval; +} + +void write_reg(int addr,int data){ + cs_n=0; + wait_us(4000); + spi.write(0x20); + wait_us(1000); + spi.write(addr & 0xFF); + wait_us(1000); + spi.write(data); + wait_us(4000); + cs_n=1; +} + +int main() { + int rw,addr,data; + // 8-bit, SPI mode 2 + spi.format(8,2); + // 10kHz + spi.frequency(10000); + + pc.printf("Init device\r\n"); + + cs_n = 1; + rst_n = 0; + wait_ms(10); + rst_n = 1; + + while(1) { + rw = -1; + addr = 0; + data = 0; + pc.printf("Write and Read Address Data? rw(write=0,read=1) addr(hex) data(hex): \r\n"); + pc.scanf("%d %x %x",&rw,&addr,&data); + // Write + cs_n=0; + if ( rw == 0 ) { + write_reg(addr,data); + pc.printf("Wrote %02x @ %02x\r\n",data,addr); + pc.printf("Read %02x @ %02x\r\n",read_reg(addr),addr); + } + else if (rw == 1 ) { + pc.printf("Read %02x @ %02x\r\n",read_reg(addr),addr); + } + else if (rw == 2) { + for (int i=0; i<10;i++){ + pc.printf("Read data %02x @ %02x\r\n",read_reg(i),i); + } + } + else { + pc.printf("Unknown command\r\n"); + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Apr 09 01:53:14 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912 \ No newline at end of file