利用已经建立的工程模板,在Keil for ARM V5中编写代码,实现如下功能:配置定时器1输出PWM,通过输出不同的占空比的PWM控制电机的转动速度。
main.c:
#include "stm32f10x.h"
#include "time.h"
#include "motor.h"
#include "delay.h"
int main(void)
{
Motor_Init();
TIM1_PWM_Init(899,0);
TIM_SetCompare1(TIM1,899);
while(1)
{
}
}
time.c:
#include "time.h"
void TIM1_PWM_Init(u16 arr,u16 psc)
{
//TIM1、GPIOA、IO端口复用功能时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 |RCC_APB2Periph_GPIOA |RCC_APB2Periph_AFIO,ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_A