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

標題: HMC5883+MPU6050+STM32智能車(簡單款)源程序 [打印本頁]

作者: 超大俠    時間: 2021-8-6 10:43
標題: HMC5883+MPU6050+STM32智能車(簡單款)源程序
#include "include.h"

#include  <math.h>

uint8_t BUF[8];
double angle;
int16_t X_HMC,Y_HMC,Z_HMC,x,y,z;
int16_t x_offest=10,y_offest=175;
double y_gain=0.967;

//******************************************************
//連續讀出HMC5883內部角度數據,地址范圍0x3~0x5
//******************************************************
void Multiple_Read_HMC5883L(void)
{         
    u8 i;
    I2C_Start();                          //起始信號
    I2C_SendByte(HMC5883L_ADDRESS);                   //發送設備地址+寫信號
      I2C_WaitAck();
    I2C_SendByte(0x03);                   //發送存儲單元地址,從0x3開始   
      I2C_WaitAck();
    I2C_Start();                          //起始信號
    I2C_SendByte(HMC5883L_ADDRESS+1);     //發送設備地址+讀信號
      I2C_WaitAck();
      for (i=0; i<6; i++)                   //連續讀取6個地址數據,存儲中BUF
    {
        BUF[ i] = I2C_RadeByte();          //BUF[0]存儲數據
        if (i == 5)
           I2C_NoAck();                   //最后一個數據需要回NOACK
        else
           I2C_Ack();                     //回應ACK
    }
    I2C_Stop();                           //停止信號
    delay5ms();

    x=BUF[0] << 8 | BUF[1]; //Combine MSB and LSB of X Data output register
    z=BUF[2] << 8 | BUF[3]; //Combine MSB and LSB of Z Data output register
    y=BUF[4] << 8 | BUF[5]; //Combine MSB and LSB of Y Data output register

    X_HMC = 1 *(x + x_offest);
    Y_HMC = (double)(y_gain * (y +y_offest));
    Z_HMC = (double)(1.073 * (z +30));

    angle= atan2((double)Y_HMC,(double)X_HMC) * (180 / 3.14159265) + 180; // angle in degrees
    angle*=-10;
}      

void Init_HMC5883L()
{
     Single_Write(HMC5883L_ADDRESS,0x02,0x00);  
}

  1. #include "include.h"



  2. int main(void)
  3. {
  4.           SystemInit();
  5.           delay_init(72);
  6.           LED_Init();
  7.           //OLED_Init();
  8.           //Draw_LibLogo();
  9.           KEY_Init();
  10.           //ADC1_Init();
  11.           delay(0XFFF);
  12.           I2C_INIT();
  13.           delay(0XFFF);
  14.           InitMPU6050();      //MPU6050初始化
  15.           //Init_HMC5883L();    //地磁初始化
  16.          // MS5611_Init();
  17.           //TIM4_Cap_Init();    //PWM輸入捕獲初始化
  18.                 TIM4_Cap_Init(100,72);
  19.     //Moto_Init();                    //電機初始化
  20.           Nvic_Init();     
  21.           usart1_config();    //串口1初始化
  22.           //usart3_config();    //串口3初始化
  23.           delay(0XFFF);
  24.           //ALGH_set();         //設置油門形成
  25.                 //OLED_Fill(0x00);
  26.           TIM6_Init(1000);          //定時2.5MS  
  27.                 TIM3_Init(1);
  28.                 TIM2_Init(1);
  29.           //PID_INIT();         //加載PID參數
  30.     while(1)
  31.           {     
  32.                         //TODO
  33. //                        if(getLIR())
  34. //                        {
  35. //                                LED1(ON);LED2(OFF);LED3(ON);LED4(OFF);
  36. //                        }
  37. //                        else
  38. //                        {
  39. //                        LED1(OFF);LED2(OFF);LED3(OFF);LED4(OFF);
  40. //                        }
  41.                         
  42.           }
  43. }



復制代碼

初學電子,如有錯誤,請大家多多指導,代碼僅供參考: stm32-smart-car-20200509.7z (210.06 KB, 下載次數: 47)





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产日韩久久 | 精品国产乱码一区二区三区 | 成年人免费网站 | av在线播放一区二区 | 国产欧美一区二区三区国产幕精品 | 国产精品国产三级国产aⅴ中文 | 精精精精xxxx免费视频 | 久久久久国产视频 | 婷婷色国产偷v国产偷v小说 | 欧美亚洲视频 | 亚洲精品大片 | 久久精品国产久精国产 | 日韩精品免费一区二区在线观看 | 欧美日韩国产三级 | 日韩无| 少妇无套高潮一二三区 | 国产清纯白嫩初高生视频在线观看 | 成人国产在线观看 | www日本在线| 久久美女视频 | 久久久www成人免费精品张筱雨 | 男女激情网站免费 | 欧美激情在线精品一区二区三区 | 亚洲欧美高清 | 久热电影 | 黄网站免费在线 | 综合亚洲视频 | 国产精品精品久久久久久 | 日韩视频一区二区三区 | 男女国产网站 | 久久视频精品 | 国产丝袜av | 国产视频二区在线观看 | 性生生活大片免费看视频 | 久久久久91 | 欧美男人天堂 | 国产一区二区三区精品久久久 | 自拍视频精品 | 国产高清视频在线 | 国产剧情一区 | 成人免费大片黄在线播放 |