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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2544|回復: 0
打印 上一主題 下一主題
收起左側

MPU60500開發源碼(周期更新歐拉角通過USB實時傳輸至PC)stm32源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:342958 發表于 2018-6-1 16:33 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
a寶上花錢買的MP60500 stm32原程序,分享給大家
單片機源程序如下:
  1. /***********************************************

  2. 標題: mian.c
  3. 作者: 秋陽電子
  4. 日期: 2017/03/15
  5. 版本:v1.0
  6. MDK-ARM 版本: v4.12
  7. ST 庫版本:v3.50  
  8. 功能: 周期更新歐拉角通過USB實時傳輸至PC
  9. 說明:
  10. *************************************************/
  11. #include "stm32f10x.h"
  12. #include "iic.h"
  13. #include "timer.h"
  14. #include "mpu6050.h"
  15. #include "hmc5883l.h"
  16. #include "ahrs.h"
  17. #include "usb_lib.h"
  18. #include "usb_desc.h"
  19. #include "usb_istr.h"
  20. #include "hw_config.h"
  21. #include "usb_pwr.h"
  22. #include "usb_pwr.h"
  23. #include <math.h>

  24. #define USB

  25. u8 flg_get_senor_data;
  26. u8 out[35]  ={0x5f, 0x60, 0};
  27. s16 gx, gy, gz, ax ,ay, az, mx, my, mz, temperature;
  28. s16 gx_offset, gy_offset, gz_offset, ax_offset, ay_offset, az_offset, mx_offset,  my_offset, mz_offset;
  29. float pitch, roll, yaw;
  30. float f_gx, f_gy, f_gz;
  31. s16 temp;
  32. /******************************************************************************/
  33. void delay(u32 count)
  34. {
  35.   for(; count != 0; count--);
  36. }
  37. /***************************************************************************/
  38. int main(void)
  39. {
  40.   GPIO_InitTypeDef GPIO_InitStructure;
  41.   NVIC_InitTypeDef NVIC_InitStructure;
  42.   u16 j, i, k;

  43.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);
  44.   
  45.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
  46.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  47.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  48.    
  49.   GPIO_Init(GPIOA, &GPIO_InitStructure);
  50.   GPIO_SetBits(GPIOA,GPIO_Pin_5);  // blue led

  51. #ifdef USB
  52.   usb_system_init();
  53. #else
  54.   usart_init();
  55. #endif

  56.   delay(0x80000);
  57.                                             
  58.   iic_init();
  59.   timer_init();

  60.   mpu6050_init();
  61.   hmc5883l_init();

  62.   while (1)
  63.   {
  64.     if(flg_get_senor_data)
  65.     {
  66.       flg_get_senor_data = 0;

  67. #ifdef USB
  68.           NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn;
  69.           NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE;
  70.           NVIC_Init(&NVIC_InitStructure);
  71. #endif            
  72.          
  73.       mpu6050_get_data(&gx, &gy, &gz, &ax, &ay, &az, &temperature);
  74.       hmc5883l_get_data(&mx, &my ,&mz);

  75. #ifdef USB
  76.           NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn;
  77.           NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  78.           NVIC_Init(&NVIC_InitStructure);
  79. #endif
  80.      
  81.           gx -= gx_offset;
  82.           gy -= gy_offset;
  83.           gz -= gz_offset;
  84.           ax -= ax_offset;
  85.           ay -= ay_offset;
  86.           az -= az_offset;
  87.           mx -= mx_offset;
  88.           my -= my_offset;
  89.           mz -= mz_offset;
  90.            
  91.       f_gx = gx * GYRO_SCALE;
  92.           f_gy = gy * GYRO_SCALE;
  93.           f_gz = gz * GYRO_SCALE;

  94.           get_euler_angle(f_gx, f_gy, f_gz, ax, ay, az, mx, my, mz, &pitch, &roll, &yaw);

  95.           out[2] = (u8)(gx >> 8);
  96.           out[3] = (u8)(gx);
  97.           out[4] = (u8)(gy >> 8);
  98.           out[5] = (u8)(gy);
  99.           out[6] = (u8)(gz >> 8);
  100.           out[7] = (u8)(gz);
  101.           out[8] = (u8)(ax >> 8);
  102.           out[9] = (u8)(ax);
  103.           out[10] = (u8)(ay >> 8);
  104.           out[11] = (u8)(ay);
  105.           out[12] = (u8)(az >> 8);
  106.           out[13] = (u8)(az);
  107.           out[14] = (u8)(mx >> 8);
  108.           out[15] = (u8)(mx);
  109.           out[16] = (u8)(my >> 8);
  110.           out[17] = (u8)(my);
  111.           out[18] = (u8)(mz >> 8);
  112.           out[19] = (u8)(mz);

  113.           temp = (s16)(pitch * 100);
  114.           out[20] = (u8)(temp >> 8);
  115.           out[21] = (u8)(temp);

  116.           temp = (s16)(roll * 100);
  117.           out[22] = (u8)(temp >> 8);
  118.           out[23] = (u8)(temp);

  119.           temp = (s16)(yaw * 100);
  120.           out[24] = (u8)(temp >> 8);
  121.           out[25] = (u8)(temp);
  122.          
  123.           if(k++ > 5)
  124.           {
  125.             k=0;
  126. #ifdef USB
  127.         USART_To_USB_Send_Data(&out[0], 26);
  128. #else
  129.             for(j = 0; j < 26; j++)
  130.             {
  131.               USART_SendData(USART1, out[j]);
  132.           while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
  133.             }
  134. #endif
  135.       }
  136.            
  137.       if(i++ >= 50)
  138.           {
  139.             i = 0;
  140.             GPIOA->ODR ^= (1 << 5);
  141.       }
  142.     }  // end if                                                           
  143.   }  // end while
  144. }
  145. /*************************************************************************************************/
  146. void USB_LP_CAN1_RX0_IRQHandler(void)
  147. {
  148.   USB_Istr();
  149. }
  150. /************************END OF FILE************************************************************/
復制代碼

所有資料51hei提供下載:
9軸姿態模塊源程序.rar (463.22 KB, 下載次數: 27)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 高清一区二区三区 | 美女爽到呻吟久久久久 | www.一区二区三区.com | 久久国产精品免费 | 日本一区二区三区免费观看 | 手机在线一区二区三区 | www.中文字幕av | 欧美亚洲激情 | 超碰国产在线 | 黄色成人在线观看 | 欧美日韩国产一区二区三区 | 犬夜叉在线观看 | 精品一区二区三区电影 | 免费看片在线播放 | 第四色播日韩第一页 | 偷派自拍 | 天堂一区| 免费美女网站 | 免费av观看 | 久久精品一区二 | 欧美一区二区三区四区视频 | 成人福利电影 | 亚洲国产一区二区视频 | 亚洲精品一区二区在线 | 精品国产欧美一区二区 | 在线国产一区二区 | 欧美精品一区二区三区在线四季 | 精品久久久久久久久久久院品网 | 久久国产一区 | 在线欧美激情 | 国产在线一区二区三区 | 国产精品一区二区久久精品爱微奶 | 秋霞性生活 | 日韩精品一二三 | 国产福利在线 | 日韩av手机在线观看 | 日韩在线中文 | 可以免费观看的av片 | 天堂免费看片 | 日韩伦理电影免费在线观看 | 91精品国产91久久久久游泳池 |