GPS and IMU reading works

Dependencies:   mbed Servo SDFileSystem

/media/uploads/taoqiuyang/img_2352.jpg

Committer:
taoqiuyang
Date:
Sat Aug 22 23:05:03 2015 +0000
Revision:
4:37d118f2348c
Parent:
3:ab9f94d112c0
Child:
5:451b8203ef99
IMU_reading_works

Who changed what in which revision?

UserRevisionLine numberNew contents of line
taoqiuyang 0:f4d390c06705 1 #include "mbed.h"
taoqiuyang 3:ab9f94d112c0 2 #include <string>
taoqiuyang 3:ab9f94d112c0 3
taoqiuyang 2:afb333543af5 4 DigitalOut led1(LED1);
taoqiuyang 2:afb333543af5 5 DigitalOut led2(LED2);
taoqiuyang 2:afb333543af5 6
taoqiuyang 2:afb333543af5 7 Serial pc(USBTX, USBRX);
taoqiuyang 2:afb333543af5 8 Serial IMU(p28, p27); // tx, rx
taoqiuyang 2:afb333543af5 9
taoqiuyang 2:afb333543af5 10 char IMU_message[256];
taoqiuyang 3:ab9f94d112c0 11 int IMU_message_counter=0;
taoqiuyang 2:afb333543af5 12
taoqiuyang 4:37d118f2348c 13 void IMU_serial_ISR() {
taoqiuyang 3:ab9f94d112c0 14 char buf;
taoqiuyang 3:ab9f94d112c0 15
taoqiuyang 3:ab9f94d112c0 16 while (IMU.readable()) {
taoqiuyang 3:ab9f94d112c0 17 buf = IMU.getc();
taoqiuyang 3:ab9f94d112c0 18
taoqiuyang 3:ab9f94d112c0 19 IMU_message_counter+=1;
taoqiuyang 3:ab9f94d112c0 20 IMU_message[IMU_message_counter]=buf;
taoqiuyang 3:ab9f94d112c0 21
taoqiuyang 3:ab9f94d112c0 22 if (buf=='#'){
taoqiuyang 3:ab9f94d112c0 23 IMU_message_counter=0;
taoqiuyang 3:ab9f94d112c0 24 }
taoqiuyang 3:ab9f94d112c0 25
taoqiuyang 3:ab9f94d112c0 26 if (buf=='\n'){
taoqiuyang 3:ab9f94d112c0 27 int i;
taoqiuyang 3:ab9f94d112c0 28 for(i=0;i<=IMU_message_counter;i++){
taoqiuyang 3:ab9f94d112c0 29 pc.putc(IMU_message[i]);
taoqiuyang 3:ab9f94d112c0 30 }
taoqiuyang 3:ab9f94d112c0 31 }
taoqiuyang 3:ab9f94d112c0 32 }
taoqiuyang 2:afb333543af5 33 led2 = !led2;
taoqiuyang 2:afb333543af5 34 }
taoqiuyang 0:f4d390c06705 35
taoqiuyang 3:ab9f94d112c0 36
taoqiuyang 3:ab9f94d112c0 37
taoqiuyang 3:ab9f94d112c0 38
taoqiuyang 0:f4d390c06705 39 int main() {
taoqiuyang 2:afb333543af5 40 IMU.baud(57600);
taoqiuyang 4:37d118f2348c 41 IMU.attach(&IMU_serial_ISR);
taoqiuyang 1:e7245ffb4820 42
taoqiuyang 2:afb333543af5 43 while (1) {
taoqiuyang 2:afb333543af5 44 led1 = !led1;
taoqiuyang 2:afb333543af5 45 wait(0.5);
taoqiuyang 0:f4d390c06705 46 }
taoqiuyang 0:f4d390c06705 47 }