久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: stm32+hmc5883電子羅盤數(shù)據(jù)采集+磁偏角校正代碼,小白一個,不懂請見諒 [打印本頁]

作者: king_zxt    時間: 2018-4-22 22:51
標題: stm32+hmc5883電子羅盤數(shù)據(jù)采集+磁偏角校正代碼,小白一個,不懂請見諒


stm32的hmc5883校正代碼分享:

  1. void calibrateMag(int * offsetX,int * offsetY,int * offsetZ,float * y_gain)  
  2. {  
  3.   short int x,y,z,i; //三軸數(shù)據(jù)
  4.   int xMax, xMin, yMax, yMin, zMax, zMin;  
  5.   //初始化  
  6.         Get_mag_ADC(&x,&y,&z);   
  7.   xMax=xMin=x;  
  8.   yMax=yMin=y;  
  9.   zMax=zMin=z;  
  10.   * offsetX =0;
  11.         * offsetY =0;
  12.         * offsetZ =0;  
  13.      
  14.   for( i=0;i<250;i++)  
  15.   {  
  16.          Get_mag_ADC(&x,&y,&z);
  17.     // 計算最大值與最小值  
  18.     // 計算傳感器繞X,Y,Z軸旋轉時的磁場強度最大值和最小值  
  19.     if (x > xMax)  
  20.       xMax = x;  
  21.     if (x < xMin )  
  22.       xMin = x;  
  23.     if(y > yMax )  
  24.       yMax = y;  
  25.     if(y < yMin )  
  26.       yMin = y;  
  27.     if(z > zMax )  
  28.       zMax = z;  
  29.     if(z < zMin )  
  30.       zMin = z;  
  31.    
  32.     delay_ms(100);  
  33.    
  34.     if(i%20 == 0)  
  35.     {  
  36.       printf("\n xMax = %d ",xMax);  
  37.                         printf("xMin = %d --",xMin);
  38.       printf(" yMax = %d ",yMax);  
  39.                         printf("yMin = %d \n",yMin);                        
  40.     }  
  41.   }
復制代碼
主函數(shù):
  1. int main(void)
  2. {         
  3.         //double angle;
  4.         delay_init();                     //延時函數(shù)初始化         
  5.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應優(yōu)先級
  6.         uart_init(115200);                 //串口初始化為115200
  7.          IIC_Init();
  8.         Init_HMC5883();
  9.         delay_ms(500);
  10.         calibrateMag(& offsetX,& offsetY,& offsetZ,& Y_Gain);
  11. //        usmart_init(72);
  12.         while(1)
  13.         {
  14. ///////////////////////////////////////////////////////////////////////////////

  15. //        a++;//a 溢出 : 32766,32767,-32768,-32767,-32766....
  16. //        a--;//a : 2,1,0,-1,-2,....
  17. //        short int :-32768<a<32767 占內存16位
  18. //        int : 占內存32位

  19. ///////////////////////////輸出方式0////////////////////////////////////
  20.                 Get_mag_ADC(&x,&y,&z);
  21.                 angle=atan2((double)(y-offsetY)*Y_Gain,(double)(x-offsetX))*(180 / 3.14159265)+180;               
  22.                         //磁偏角矯正
  23.                         angle = angle - MagnetcDeclination + 180;
  24.                   if(angle < 0) angle += 360;
  25.                         else if(angle >360) angle -= 360;
  26.                                 
  27.                 printf("\n x  = %d y  = %d z  = %d   ",x,y,z);
  28.                 printf("水平角度= %.2f 增益 = %f.3\n",angle,Y_Gain);
  29.                 delay_ms(300);
  30. /////////////////////輸出方式一/////////////////////////
  31. //                angle=  Get_Compass_Angle();
  32. //                delay_ms(300);
  33. //                x = BUF[0] << 8 | BUF[1];
  34. //                y = BUF[2] << 8 | BUF[3];
  35. //                z = BUF[4] << 8 | BUF[5];         
  36. //                        printf("\n x  = %d y  = %d z  = %d ",x,y,z);        
  37. //                        printf("角度1= %f \n",angle);        
  38. ////////////////////輸出方式二/////////////////////////
  39. //                HMC5883_ReadXYZ(&x,&y,&z);
  40. //                angle=atan2((double)y,(double)x)*(180 / 3.14159265)+180;
  41. //                delay_ms(300);
  42. //                printf("\n x1 = %d y1 = %d z1 = %d ",x,y,z);                                       
  43. //                printf("角度2= %f \n",angle);
  44. //
  45. ///////////////////////////////////////////////////////
  46.         }
  47. }
復制代碼

全部資料51hei下載地址:
HMC5883數(shù)據(jù)羅盤矯正.rar (363.06 KB, 下載次數(shù): 256)



作者: 的花朵    時間: 2018-4-26 15:11
幫了大忙
作者: Sherlock007    時間: 2018-4-30 15:31
贊啊,正好需要
作者: wind@    時間: 2018-12-30 12:57
為什么打印出來的值沒有變化呢,還有其他小細節(jié)要注意的嗎?
作者: BigZhong    時間: 2019-1-19 20:19
謝謝分享
作者: king_zxt    時間: 2019-3-8 11:34
wind@ 發(fā)表于 2018-12-30 12:57
為什么打印出來的值沒有變化呢,還有其他小細節(jié)要注意的嗎?

上電后,傳感器水平旋轉360°采集數(shù)據(jù),如果傳感器不懂得話數(shù)據(jù)也不會有變化,就不能校正
作者: 呆瓜喲    時間: 2019-4-7 16:56
為什么我打印出來的是亂碼

作者: king_zxt    時間: 2019-4-11 09:59
呆瓜喲 發(fā)表于 2019-4-7 16:56
為什么我打印出來的是亂碼

波特率115200看你設對沒
作者: 呆瓜喲    時間: 2019-4-24 20:48
king_zxt 發(fā)表于 2019-4-11 09:59
波特率115200看你設對沒

可以了,老哥有沒有用過集成6軸三維電子羅盤模塊?
作者: king_zxt    時間: 2019-5-5 19:51
呆瓜喲 發(fā)表于 2019-4-24 20:48
可以了,老哥有沒有用過集成6軸三維電子羅盤模塊?

就是陀螺儀加電子羅盤咯,接觸過,但是沒用過,有些自帶姿態(tài)結算庫的,直接調用就可以得到角度和加速度了
作者: vistayi    時間: 2019-5-5 23:53
學習學習
作者: jingzw123456    時間: 2019-5-29 07:54
謝謝分享

作者: 米羅破曉    時間: 2019-6-17 19:05
串口是哪兩個角
作者: king_zxt    時間: 2019-6-20 16:52
米羅破曉 發(fā)表于 2019-6-17 19:05
串口是哪兩個角

PA9,PA10
作者: 易曉勇121    時間: 2019-7-15 13:10
下載看看嘛
作者: liudechuan    時間: 2020-2-13 17:12
啊我輸出的都是-1,角度是45度是咋回事啊哥
作者: 綻放中的青春    時間: 2020-4-5 15:21

x  = -1 y  = -1 z  = -1   水平角度= nan 增益 = nan.3

x  = -1 y  = -1 z  = -1   水平角度= nan 增益 = nan.3

x  = -1 y  = -1 z  = -1   水平角度= nan 增益 = nan.3

x  = -1 y  = -1 z  = -1   水平角度= nan 增益 = nan.3

x  = -1 y  = -1 z  = -1   水平角度= nan 增益 = nan.3
請問這是什么情況?
作者: liangzanyao    時間: 2020-4-7 16:08
謝謝分享
作者: liangzanyao    時間: 2020-4-7 16:08
謝謝分享正需要。
作者: hominidclint    時間: 2020-4-9 20:47
感謝分享,學習后、測試一下
作者: pwlpwlpwl    時間: 2020-4-27 21:44
綻放中的青春 發(fā)表于 2020-4-5 15:21
x  = -1 y  = -1 z  = -1   水平角度= nan 增益 = nan.3

x  = -1 y  = -1 z  = -1   水平角度= nan  ...

我也是這種情況,請問你解決了么?
作者: king_zxt    時間: 2021-5-8 16:36
liudechuan 發(fā)表于 2020-2-13 17:12
啊我輸出的都是-1,角度是45度是咋回事啊哥

代碼下載進去基本就能用,輸出這個說明傳感器數(shù)據(jù)沒有正確讀取,可能是你的接線或者傳感器問題,仔細查找一下
作者: king_zxt    時間: 2021-5-8 16:37
綻放中的青春 發(fā)表于 2020-4-5 15:21
x  = -1 y  = -1 z  = -1   水平角度= nan 增益 = nan.3

x  = -1 y  = -1 z  = -1   水平角度= nan  ...

代碼下載進去基本就能用,輸出這個說明傳感器數(shù)據(jù)沒有正確讀取,可能是你的接線或者傳感器問題,仔細查找一下
作者: king_zxt    時間: 2021-5-8 16:38
pwlpwlpwl 發(fā)表于 2020-4-27 21:44
我也是這種情況,請問你解決了么?

代碼下載進去基本就能用,輸出這個說明傳感器數(shù)據(jù)沒有正確讀取,可能是你的接線或者傳感器問題,仔細查找一下




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 中国黄色一级片 | 成人精品国产 | 国产精品96 | 欧美日韩在线精品 | 爱啪啪av| 国产精品三级在线观看 | 午夜在线免费视频 | 国产精品hd | 中文字幕一二区 | 亚洲黄色av | 欧美a级成人淫片免费看 | 久在线视频| 日韩精品视频免费 | 在线观看免费毛片 | 四虎视频| 日韩理论在线观看 | 国产不卡在线视频 | 国内精品视频在线观看 | 天美传媒在线观看 | 伊人超碰在线 | 久久久中文 | 少妇高潮久久久久久潘金莲 | 亚洲黄色小视频 | 国产黄色大片 | 超碰在线国产 | 色99999| 一级a毛片 | 国产女人18毛片18精品 | 免费看黄色录像 | 精品一区二区三区在线观看 | 福利视频一区 | 亚洲黄色小视频 | 国产成人97精品免费看片 | 免费观看毛片 | 18在线观看免费入口 | 国产福利91精品一区二区三区 | 国产成人精品一区二区三区在线 | 欧美日韩在线视频观看 | 国产aⅴ爽av久久久久成人 | 成人免费毛片aaaaaa片 | 超碰免费在线 |