2015電子設計競賽國賽控制類的題目,使用STM32F1系列單片機,l298n驅動完成的代碼
單片機源程序如下:
- #include "stm32f10x.h"
- #include "mpu_usart.h"
- #include "motor_pwm.h"
- #include "motor_control.h"
- #include "delay.h"
- #include "timer.h"
- #include "usart.h"
- #include "oled.h"
- #include "indkey.h"
- #include "mpu6050.h"
- #include "inv_mpu.h"
- extern M1TypeDef M1;
- extern M2TypeDef M2;
- extern float pitch,roll,yaw; //歐拉角
- extern float set_y;
- extern float set_x;
- extern int CurMode;
- extern int Q1_Start;
- extern int Q2_Start;
- extern int Q3_Start;
- extern int Q4_Start;
- extern int Q5_Start;
- extern int Q6_Start;
- extern int LEDcnt;
- void Init(void)
- {
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- PWM_Init();
- Key_IO_Init();
-
- delay_init(); //延時函數初始化
- uart_init(500000); //串口初始化為9600
-
- MPU_Init(); //初始化MPU6050
-
- while(mpu_dmp_init());
- OLED_Init();
- // TIM1_Config(999,8);//0.125ms
- TIM2_Config(10000-1,71);//10ms
- }
- int main(void)
- {
- Init();
-
- while (1)
- {
- // OLED_ShowString(0,0,"A");
- if(LEDcnt==20)
- {
- LEDcnt=0;
- KeyScan();
- }
- if(LEDcnt>=20)
- LEDcnt=0;
- get_date();
- if(1)mpu6050_send_data(pitch,roll,M1.PWM,M2.PWM,set_x,set_y);//用自定義幀發送加速度和陀螺儀原始數據
-
-
- }
-
- }
復制代碼
所有資料51hei提供下載:
風擺.rar
(385.1 KB, 下載次數: 47)
2018-7-16 02:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|