新手上路
- 积分
- 28
- 金钱
- 28
- 注册时间
- 2018-11-1
- 在线时间
- 9 小时
|
10金钱
小弟最近想用hmc5883l模块来校准小船的航向,用的stm32f407板子,iic通信,通信已经建立起来了,可以通过串口打印出数据了,但是觉得数据不太清楚是什么意思,拿着模块变换一下角度,数据确实是在变化,但是有些地方的数据出现了重复,有些地方的相邻数据变化太快,一时间不知道到底怎么样去根据数据换算成方向,
网上有这样的一段代码:
// if((angle < 22.5) || (angle > 337.5 ))
// printf("South %lf\r\n",angle);
// delay_ms(50);
// if((angle > 22.5) && (angle < 67.5 ))
// printf("South-West %lf\r\n",angle);
// delay_ms(50);
// if((angle > 67.5) && (angle < 112.5 ))
// printf("West %lf\r\n",angle);
// delay_ms(50);
// if((angle > 112.5) && (angle < 157.5 ))
// printf("North-West %lf\r\n",angle);
// delay_ms(50);
// if((angle > 157.5) && (angle < 202.5 ))
// printf("North %lf\r\n",angle);
// delay_ms(50);
// if((angle > 202.5) && (angle < 247.5 ))
// printf("NorthEast %lf\r\n",angle);
// delay_ms(50);
// if((angle > 247.5) && (angle < 292.5 ))
// printf("East %lf\r\n",angle);
// delay_ms(50);
// if((angle > 292.5) && (angle < 337.5 ))
// printf("SouthEast %lf\r\n",angle);
// delay_ms(50);
但是实测方向不对啊。。。
求助大家,最后读取出来的数据是怎么处理的呢。。。
|
|