#include "main.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_tim.h"
#include "stm32f10x_rcc.h" //touwenjian
void SystemInit (void)
{
/* Reset the RCC clock configuration to the default reset state(for debug purpose) */
/* Set HSION bit */
RCC->CR |= (unsigned int)0x00000001;
/* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */
}
void MiniBalance_Motor_Init(void)
{
RCC->APB2ENR|=1<<3; //
GPIOB->CRH&=0X0000FFFF; //
GPIOB->CRH|=0X22220000; //
}
void MiniBalance_PWM_Init(u16 arr,u16 psc)
{
MiniBalance_Motor_Init();
RCC->APB1ENR|=1<<1;
RCC->APB2ENR|=1<<3;
GPIOB->CRL&=0XFFFFFF00;
GPIOB->CRL|=0X000000BB;
TIM3->ARR=arr;
TIM3->PSC=psc;
TIM3->CCMR2|=6<<12;
TIM3->CCMR2|=6<<4;
TIM3->CCMR2|=1<<11;
TIM3->CCMR2|=1<<3;
TIM3->CCER|=1<<12;
TIM3->CCER|=1<<8;
TIM3->CR1=0x8000;
TIM3->CR1|=0x01;
}
int main(void) //zhu cheng xu!!!!!!!!
{
SysTick->CTRL&=0xfffffffb;
SystemInit();
MiniBalance_PWM_Init(3599,0);
while(1)
{
GPIOB->ODR &= ~(1<<8);
PWMA = 3000;
PWMB = 3000;
GPIO_ResetBits(GPIOB,GPIO_Pin_15);//AIN2=0
GPIO_SetBits(GPIOB,GPIO_Pin_14);//AIN1=1
GPIO_ResetBits(GPIOB,GPIO_Pin_13);//BIN1=0
GPIO_SetBits(GPIOB,GPIO_Pin_12);//BIN2=1
}
}
|