![](/media/cache/profiles/P1080070.JPG.50x50_q85.jpg)
Lab4
Diff: main.cpp
- Revision:
- 25:2c0dd68faae0
- Parent:
- 24:cfcbac775459
- Child:
- 26:8ef365eb183e
--- a/main.cpp Tue Aug 27 01:01:24 2019 +0000 +++ b/main.cpp Tue Aug 27 01:06:25 2019 +0000 @@ -1,23 +1,41 @@ #include "mbed.h" #include"HEPTA_EPS.h" -#include"HEPTA_CDH.h" -#include"HEPTA_SENSOR.h" -#include"HEPTA_COM.h" Serial pc(USBTX,USBRX); HEPTA_EPS eps(p16,p26); -HEPTA_CDH cdh(p5, p6, p7, p8, "sd"); -HEPTA_SENSOR sensor(p17, - p28,p27,0xD0,0x18, - p13, p14,p25,p24); -HEPTA_COM com(p9,p10); +I2C i2c(p28, p27); -DigitalOut myled(LED1); - +const int addr_accel_gyro = 0xD0; +char cmd[2]; +short int gxl,gxh,gyl,gyh,gzl,gzh; int main() { - myled = 1; - wait(0.5); - myled = 0; - wait(0.5); + i2c.frequency(100000); + cmd[0]=0x6B; + cmd[1]=0x00; + i2c.write(addr_accel_gyro,cmd,2); + cmd[0] = 0x37; + cmd[1] = 0x02; + i2c.write(addr_accel_gyro,cmd,2); + i2c.stop(); + while(1) { + i2c.start(); + i2c.write(addr_accel_gyro); + i2c.write(0x43); + i2c.start(); + i2c.write(addr_accel_gyro|0x01); + gxh = i2c.read(0); + i2c.stop(); + i2c.start(); + i2c.write(addr_accel_gyro); + i2c.write(0x44); + i2c.start(); + i2c.write(addr_accel_gyro|0x01); + gxl = i2c.read(0); + i2c.stop(); + double gyro_ax = short((gxh<<8) | (gxl)); + double GX = (gyro_ax)*0.00763; + pc.printf("GX = %f\r\n",GX); + wait(0.5); + } } \ No newline at end of file