#include "motor.h" #include "timer.h" #include "delay.h" u16 Ypwmva=0; u16 Zpwmva=0; void motor_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_0; //PB5、PB0 端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化 GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_0); // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_0; // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //PA8,9,10,13,14,15设置成输入,默认下拉 // GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA // // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11; // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //PC10,11设置成输入,默认下拉 // GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化GPIOC } void PWM_init(void) { TIM_SetCompare2(TIM3,10); TIM_SetCompare3(TIM3,10); } void run(void)//前进 { Ypwmva=450; Zpwmva=450; Right_moto_go; Left_moto_go; } void stop(void)//停止 { Ypwmva=0; Zpwmva=0; Right_moto_go; Left_moto_go; } void backrun(void)//后退 { Ypwmva=450; Zpwmva=450; Left_moto_back; Right_moto_back; } void leftrun(void)//左转 { Ypwmva=500; Zpwmva=500; Right_moto_back; Left_moto_go; } void rightrun(void)//右转 { Ypwmva=500; Zpwmva=500; Right_moto_go; Left_moto_back; }