标题:
stm32f103c8t6 平衡车源码
[打印本页]
作者:
九个皇后
时间:
2018-7-20 10:03
标题:
stm32f103c8t6 平衡车源码
自己蛮长时间才搞出来的,希望能给大家点帮助。
单片机源程序如下:
#include "stm32f10x.h"
#include "bsp_usart.h"
#include "bsp_usart_blt.h"
#include "bsp_hc05.h"
#include "bsp_led.h"
#include "bsp_mpu6050.h"
#include "bsp_i2c.h"
#include "bsp_time.h"
#include "bsp_pwm.h"
#include "bsp_balance.h"
#include "bsp_filter.h"
#include "bsp_encoder.h"
#include <math.h>
#include <string.h>
#include <stdlib.h>
unsigned int Task_Delay[NumOfTask];
char sendData[1024];
char linebuff[1024];
int _Move;
/**
* @brief 主函数
* @param 无
* @retval 无
*/
int main(void)
{
char* redata;
uint16_t len;
uint16_t linelen;
SysTick_Init();
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;
GPIO_Config(RCC_APB2Periph_GPIOB, GPIO_Pin_12, GPIO_Pin_13, GPIOB);
GPIO_Config(RCC_APB2Periph_GPIOB, GPIO_Pin_14, GPIO_Pin_15, GPIOB);
//USART_Config();
BLT_USART_Config();
TIM2_ENCODER_Init();
TIM3_ENCODER_Init();
PWM_TIM_Config();
I2C_Config();
MPU6050_Init();
Time_Config();
while(1)
{
if(Task_Delay[0]==0)
{
redata = get_rebuff(&len);
linelen = get_line(linebuff,redata,len);
if(linelen<200 && linelen != 0)
{
switch(*redata)
{
case '2':_Move = 2; break;
case '8':_Move = 8; break;
case '4':_Move = 4; break;
case '6':_Move = 6; break;
case '5':_Move = 5; break;
}
clean_rebuff();
}
Task_Delay[0]=200;
}
}
}
复制代码
所有资料51hei提供下载:
STM32-Balance.rar
(309.46 KB, 下载次数: 100)
2018-7-20 22:54 上传
点击文件名下载附件
平衡车源码
下载积分: 黑币 -5
作者:
Ray_96
时间:
2018-8-12 15:39
感谢分享
作者:
不知廉耻
时间:
2019-3-1 21:03
谢谢楼主分享
作者:
453716577
时间:
2019-5-1 16:12
能把硬件连接图发给我吗?
作者:
512-DZ
时间:
2024-3-23 15:38
发个原理图哈老板
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1