金牌会员
 
- 积分
- 2775
- 金钱
- 2775
- 注册时间
- 2015-6-1
- 在线时间
- 394 小时
|
大四下学期玩的一个东西,现在要改用带实时操作系统的了,这些代码我也不会再用。同事和老大看见了别怪我。。反正这代码也不用了。。。而且写的很水,全是抄的。
功能:
1、使用定时器timer、I2C实时采集并上传MPU6050和HMC5883数据。10ms一次,每次18个字节。
2、将设备配置成USB HID设备,与上位机通信。上位机向下位机发送“1”可开始通信,下位机向上位机发送一组数据后,等待上位机向下位机发送“3”,再发送一组数据,再等待“3”。
注:由于上位机是手机,手机有多线程,有时会出现没来得及取下位机数据的情况,为了实现实时性,我开了一块较大的数组,传感器得来的数据先放在数组里,每次上传一组数据,就将此大数组中的数据放到USB的64字节发送区中(不够54字节就有多少发多少,越过54字节的话,不管大数组中留了多少数据,都只发54字节)。由于每10ms可采集18字节数据,而每次最大上传18*3=54字节数据,所以这样可以保证所有数据都稳定上传到上位机。算是种取巧的实时性,但还是非常稳定的。 另外,上位机请自行开发,我给不了。想要不使用上位机就连续输出的话,自己整理下变量的逻辑,temp start restart之类的,就可以了。
3、读取GPS数据,我买来的GPS模块也不是原子哥的,但代码通用。(我忘记这里究竟是怎么输出的了,当时使用的LCD和串口同时进行显示,后来由于GPS并不常用,就删了一部分代码,现在手里没有GPS模块,无法测试。但初始化代码绝对是好用的。)
|
|