CPS-Lab*
/
Lab6
Laboratory 6
main.cpp
- Committer:
- fanbsun
- Date:
- 2018-02-22
- Revision:
- 1:737fa48a7c0c
- Parent:
- 0:1ca806626aba
File content as of revision 1:737fa48a7c0c:
#include "mbed.h" #include "ADXL362.h" #include <stdlib.h> // Interface pulled from ADXL362.cpp // ADXL362::ADXL362(PinName CS, PinName MOSI, PinName MISO, PinName SCK) : ADXL362 adxl362(PA_0,PA_7,PA_6,PA_1); Serial pc(USBTX, USBRX); int adxl362_reg_print(int start, int length); int main() { adxl362.reset(); wait_ms(600); // we need to wait at least 500ms after ADXL362 reset adxl362.set_mode(ADXL362::MEASUREMENT); adxl362_reg_print(0, 3); adx1362_knock_detect(); return(0); } int adxl362_reg_print(int start, int length) { int i; if(start >= 0x00 && start <= 0x2E && length >= 0x00 /*&& (adxl362.read_reg(adxl362.DEVID_AD) == 0xAD)*/) { for(i = start; i <= start + length; i++) { pc.printf("\n\r0x%x: Test=%d\n\r", i, adxl362.read_reg()); } } else { pc.printf("Error"); return(-1); } } void adx1362_knock_detect() { int8_t x1,y1,z1,x2,y2,z2,x,y,z; while(1) { while(1) { x1=adxl362.scanx_u8(); y1=adxl362.scany_u8(); z1=adxl362.scanz_u8(); wait_ms(100); x2=adxl362.scanx_u8(); y2=adxl362.scany_u8(); z2=adxl362.scanz_u8(); x=abs(x1 - x2); y=abs(y1 - y2); z=abs(z1 - z2); if (x>10 || y>10 || z>10) break; printf("x = %d y = %d z = %d\r\n",x,y,z); wait_ms(100); } myled = 1; wait(2); }