
A test utility for mma8452
Revision 0:904e837fccc5, committed 2012-11-28
- Comitter:
- matsu
- Date:
- Wed Nov 28 16:55:32 2012 +0000
- Child:
- 1:0c1dd02be97a
- Commit message:
- this is sample source of MMA8452
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 Wed Nov 28 16:55:32 2012 +0000 @@ -0,0 +1,71 @@ +#include "mbed.h" + +I2C i2c(p9,p10); +Serial pc(USBTX, USBRX); +DigitalOut led1(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); + +int main() { + led1 = 0; + led2 = 0; + led3 = 0; + char cmd[6]; + char add[1]; + char init[2]; + add[0] = 0x01; + init[0] = 0x2A; + init[1] = 0x01; + int number=0; + i2c.frequency(40000); + + wait(0.5); + //init + //set active mode + while(i2c.write(0x3A,init,2)); + led1 = 1; + led2 = 1; + led3 = 1; + + //get analog data + while(1) { + //send procedure + wait(0.07); + switch(number){ + case 0: +// i2c.start(); + if(i2c.write(0x3A,add,1) == 0){ + number++; + led1 = 1; + }else{ + number=0; + led1 = 0; + led2 = 0; + led3 = 1; + } + break; + case 1: +// i2c.start(); + if(i2c.read(0x3A,cmd,6) == 0){ + number++; + led2 = 1; + }else{ + number=0; + led1 = 0; + led2 = 0; + led3 = 0; + } + break; + case 2: +// pc.printf("\r cmd1 = %d,cmd2 = %d,cmd3 = %d ",((cmd[0]<<4)+(cmd[1]>>4)),((cmd[2]<<4)+(cmd[3]>>4)),((cmd[4]<<4)+(cmd[5]>>4))); + pc.printf("\r X = %d,Y = %d,Z = %d ",cmd[1],cmd[3],cmd[5]); + led3 = 1; + wait(0.5); + led1 = 0; + led2 = 0; + led3 = 0; + number=0; + break; + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Nov 28 16:55:32 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e2ed12d17f06 \ No newline at end of file