由于GPS是每100ms串口接收数据,当把陀螺仪的获取数据参数时间设定为5ms时,由于陀螺仪获取数据的时间短,而GPS更新数据的时间长,导致每有一个陀螺仪数据来时,会打断GPS获取信息的程序使其串口丢包导致GPS数据不准并且没有停止位会导致获取的大量数据堆积导致程序崩溃,此时我将陀螺仪中断中写一个标志位使gps的获取信息函数运行,这样我的gps有了数据,但是成宿长时间运行,依旧会卡死。这时我更改了gps和陀螺仪的优先级,但这样子也还是会有丢包的现象同时出现只有一个模块有数据的现象。而我把他们放到while(1){}中他们都会有数据而且不会卡死,这是我的一些经历,发表一下 ~.~