求助hmc5883l遇到的问题。。。

2019-07-20 04:53发布

小弟最近想用hmc5883l模块来校准小船的航向,用的stm32f407板子,iic通信,通信已经建立起来了,可以通过串口打印出数据了,但是觉得数据不太清楚是什么意思,拿着模块变换一下角度,数据确实是在变化,但是有些地方的数据出现了重复,有些地方的相邻数据变化太快,一时间不知道到底怎么样去根据数据换算成方向,
网上有这样的一段代码:
//                 if((angle < 22.5) || (angle > 337.5 ))
//        printf("South %lf ",angle);
//                 delay_ms(50);
//    if((angle > 22.5) && (angle < 67.5 ))
//        printf("South-West %lf ",angle);
//          delay_ms(50);
//    if((angle > 67.5) && (angle < 112.5 ))
//        printf("West %lf ",angle);
//          delay_ms(50);
//    if((angle > 112.5) && (angle < 157.5 ))
//        printf("North-West %lf ",angle);
//          delay_ms(50);
//    if((angle > 157.5) && (angle < 202.5 ))
//        printf("North %lf ",angle);
//          delay_ms(50);
//    if((angle > 202.5) && (angle < 247.5 ))
//        printf("NorthEast %lf ",angle);
//          delay_ms(50);
//    if((angle > 247.5) && (angle < 292.5 ))
//        printf("East %lf ",angle);
//          delay_ms(50);
//    if((angle > 292.5) && (angle < 337.5 ))
//        printf("SouthEast %lf ",angle);
//          delay_ms(50);



但是实测方向不对啊。。。
求助大家,最后读取出来的数据是怎么处理的呢。。。






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。