找回密码
 立即注册

QQ登录

只需一步,快速开始

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

2015年电赛stm32风力摆源代码

[复制链接]
跳转到指定楼层
楼主
ID:372121 发表于 2018-7-15 19:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2015电子设计竞赛国赛控制类的题目,使用STM32F1系列单片机,l298n驱动完成的代码

单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "mpu_usart.h"
  3. #include "motor_pwm.h"
  4. #include "motor_control.h"
  5. #include "delay.h"
  6. #include "timer.h"
  7. #include "usart.h"
  8. #include "oled.h"
  9. #include "indkey.h"
  10. #include "mpu6050.h"
  11. #include "inv_mpu.h"

  12. extern M1TypeDef M1;
  13. extern M2TypeDef M2;

  14. extern float pitch,roll,yaw;                 //欧拉角

  15. extern float set_y;
  16. extern float set_x;

  17. extern int CurMode;
  18. extern int Q1_Start;
  19. extern int Q2_Start;
  20. extern int Q3_Start;
  21. extern int Q4_Start;
  22. extern int Q5_Start;
  23. extern int Q6_Start;
  24. extern int LEDcnt;
  25. void Init(void)
  26. {
  27.          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  28.          PWM_Init();
  29.    Key_IO_Init();

  30.                
  31.         delay_init();                     //延时函数初始化         
  32.         uart_init(500000);                 //串口初始化为9600
  33.         
  34.         MPU_Init();                                        //初始化MPU6050
  35.          
  36.         while(mpu_dmp_init());
  37.          OLED_Init();

  38. //         TIM1_Config(999,8);//0.125ms
  39.          TIM2_Config(10000-1,71);//10ms
  40. }
  41. int main(void)
  42. {                 
  43. Init();
  44.         
  45.         while (1)
  46.         {
  47. //   OLED_ShowString(0,0,"A");
  48.                 if(LEDcnt==20)
  49.                         {               
  50.                                                                                 LEDcnt=0;                                       
  51.                                                                                 KeyScan();
  52.                         }
  53.                 if(LEDcnt>=20)
  54.                                 LEDcnt=0;
  55.                 get_date();
  56.                 if(1)mpu6050_send_data(pitch,roll,M1.PWM,M2.PWM,set_x,set_y);//用自定义帧发送加速度和陀螺仪原始数据        

  57.                
  58.                         

  59.         }        
  60.         
  61. }

复制代码

所有资料51hei提供下载:
风摆.rar (385.1 KB, 下载次数: 47)


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

使用道具 举报

沙发
ID:587843 发表于 2019-7-31 15:34 | 只看该作者
请问为什么陀螺仪会没有姿态显示,3D的图都不动?

回复

使用道具 举报

板凳
ID:587843 发表于 2019-7-31 23:12 | 只看该作者
请问你这里面有上传姿态吗,我找不到,那怎么用上位机来看?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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