找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1965|回复: 0
打印 上一主题 下一主题
收起左侧

stm32用的正点原子的一套10轴传感器和wifi8266完成 源程序

[复制链接]
跳转到指定楼层
楼主
ID:182775 发表于 2021-11-2 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的正点原子f103zet6的一套10轴传感器和wifi8266完成,实现数据由wifi透传完成。稍加改改就能移植其他

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "usart2.h"
  6. #include "string.h"
  7. #include "imu901.h"
  8. #include "usart3.h"
  9. #include "stdio.h"
  10. #include "timer.h"




  11. int main(void)
  12. {
  13.         uint32_t times = 0;
  14.     uint8_t ch;
  15. //           u8 *p;
  16. //        u16 t=999;                //加速第一次获取链接状态
  17.    
  18.     delay_init();                     //延时函数初始化
  19.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  20.     uart_init(115200);                 //串口初始化为9600
  21.     LED_Init();                                //初始化与LED连接的硬件接口
  22.         USART2_init(115200);
  23.     imu901_init();                                                        /* IMU901模块初始 */
  24.                 usart3_init(115200);                                         //串口初始化为115200

  25.         esp8266_start_trans();                                                        //esp8266进行初始化
  26.          
  27.         esp8266_send_data("开始发送数据  \n",50);
  28.          
  29.   
  30.     while (1)
  31.     {
  32.                 if (imu901_uart_receive(&ch, 1))         /*!< 获取串口fifo一个字节 */
  33.         {
  34.             if (imu901_unpack(ch))                         /*!< 解析出有效数据包 */
  35.             {
  36.                 if (rxPacket.startByte2 == UP_BYTE2)                         /*!< 主动上传的数据包 */
  37.                 {
  38.                     atkpParsing(&rxPacket);
  39.                 }
  40.             }
  41.         }
  42.         else
  43.         {
  44.             delay_ms(1);

  45.             times++;

  46.             if (times % 300  == 0) LED0=~LED0;         /* 闪烁LED,提示系统正在运行 */

  47.             if (times % 1000 == 0)                                         /*!< 1秒打印一次数据 */
  48.             {
  49.                                                        
  50.                 printf("\r\n");
  51.                 printf("姿态角[XYZ]:    %-6.1f     %-6.1f     %-6.1f   (°)\r\n", attitude.roll, attitude.pitch, attitude.yaw);           //串口调试可以看的
  52.                 printf("加速度[XYZ]:    %-6.3f     %-6.3f     %-6.3f   (g)\r\n", gyroAccData.faccG[0], gyroAccData.faccG[1], gyroAccData.faccG[2]);
  53.                 printf("角速度[XYZ]:    %-6.1f     %-6.1f     %-6.1f   (°/s)\r\n", gyroAccData.fgyroD[0], gyroAccData.fgyroD[1], gyroAccData.fgyroD[2]);
  54.                 printf("磁场[XYZ]  :    %-6d     %-6d     %-6d   (uT)\r\n", magData.mag[0], magData.mag[1], magData.mag[2]);
  55.                 printf("气压            :    %-6dPa   %-6dcm\r\n", baroData.pressure, baroData.altitude);
  56.                                                        
  57.                                                           u3_printf("姿态角[XYZ]:      %.2f    %.2f    %.2f      (°)\r\n",attitude.roll, attitude.pitch, attitude.yaw);            //由wifi发送的数据
  58.                                                           u3_printf("加速度[XYZ]:      %.2f    %.2f    %.2f        (g)\r\n",gyroAccData.faccG[0], gyroAccData.faccG[1], gyroAccData.faccG[2]);
  59.                                                           u3_printf("角速度[XYZ]:       %.2f    %.2f    %.2f        (°/s)\r\n",gyroAccData.fgyroD[0], gyroAccData.fgyroD[1], gyroAccData.fgyroD[2]);
  60.                                                                 u3_printf("磁场[XYZ] :    %-6d     %-6d     %-6d         (uT)\r\n",magData.mag[0], magData.mag[1], magData.mag[2]);
  61.                                                        

  62.                                                
  63.                                                        
  64.                                                
  65.             }
  66.         }
  67.        
  68.       
  69.     }
  70. }
复制代码

Keil代码下载:
IMU901 F1 - 实验.7z (207.22 KB, 下载次数: 13)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表