GPS and IMU reading works

Dependencies:   mbed Servo SDFileSystem

/media/uploads/taoqiuyang/img_2352.jpg

Committer:
taoqiuyang
Date:
Sat Aug 08 08:20:18 2015 +0000
Revision:
3:ab9f94d112c0
Parent:
2:afb333543af5
Child:
4:37d118f2348c
read string using interrupt

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 2:afb333543af5 13 void callback() {
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 3:ab9f94d112c0 33
taoqiuyang 3:ab9f94d112c0 34
taoqiuyang 2:afb333543af5 35 led2 = !led2;
taoqiuyang 2:afb333543af5 36 }
taoqiuyang 0:f4d390c06705 37
taoqiuyang 3:ab9f94d112c0 38
taoqiuyang 3:ab9f94d112c0 39
taoqiuyang 3:ab9f94d112c0 40
taoqiuyang 0:f4d390c06705 41 int main() {
taoqiuyang 2:afb333543af5 42 IMU.baud(57600);
taoqiuyang 2:afb333543af5 43 IMU.attach(&callback);
taoqiuyang 1:e7245ffb4820 44
taoqiuyang 2:afb333543af5 45 while (1) {
taoqiuyang 2:afb333543af5 46 led1 = !led1;
taoqiuyang 2:afb333543af5 47 wait(0.5);
taoqiuyang 0:f4d390c06705 48 }
taoqiuyang 0:f4d390c06705 49 }