Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of MMA8452 by
main.cpp
00001 #include "mbed.h" 00002 00003 I2C i2c(p9,p10); 00004 Serial pc(USBTX, USBRX); 00005 DigitalOut led1(LED1); 00006 DigitalOut led2(LED2); 00007 DigitalOut led3(LED3); 00008 DigitalOut led4(LED4); 00009 00010 int main() { 00011 led4 = 1; 00012 led1 = 0; 00013 led2 = 0; 00014 led3 = 0; 00015 char cmd[6]; 00016 char add[1]; 00017 char init[2]; 00018 add[0] = 0x01; 00019 init[0] = 0x2A; 00020 init[1] = 0x01; 00021 int number=0; 00022 i2c.frequency(40000); 00023 00024 wait(0.5); 00025 //init 00026 //set active mode 00027 while(i2c.write(0x38,init,2)); 00028 led1 = 1; 00029 led2 = 1; 00030 led3 = 1; 00031 00032 //get analog data 00033 while(1) { 00034 //send procedure 00035 wait(0.07); 00036 switch(number){ 00037 case 0: 00038 if(i2c.write(0x38,add,1) == 0){ 00039 number++; 00040 //led1 = 1; 00041 }else{ 00042 number=0; 00043 //led1 = 0; 00044 //led2 = 0; 00045 //led3 = 1; 00046 } 00047 break; 00048 case 1: 00049 if(i2c.read(0x38,cmd,6) == 0){ 00050 number++; 00051 //led2 = 1; 00052 }else{ 00053 number=0; 00054 //led1 = 0; 00055 //led2 = 0; 00056 //led3 = 0; 00057 } 00058 break; 00059 case 2: 00060 //get analog data 00061 //pc.printf("\r X = %d,Y = %d,Z = %d ",cmd[1],cmd[3],cmd[5]); 00062 //led3 = 1; 00063 led1 = 0; 00064 led2 = 0; 00065 led3 = 0; 00066 if (cmd[1] > cmd[3]){ 00067 led1 = 1; 00068 }else if(cmd[3] > cmd[5]){ 00069 led2 = 1; 00070 }else{ 00071 led3 = 1; 00072 } 00073 wait(0.5); 00074 led1 = 0; 00075 led2 = 0; 00076 led3 = 0; 00077 number=0; 00078 break; 00079 } 00080 } 00081 }
Generated on Wed Jul 13 2022 21:30:04 by
1.7.2
