现阶段使用stm32,基本处于模仿阶段,用野火的教程以及程序,修改一些IO口,然后烧到自己的开发板上,实现一些功能。
第二个实验室了解pwm波这个东西,脉宽调制,调节占空比可以改变电机转速,原理可以看刘洋老师的基础视频,讲的很详细。
修改野火的pwm程序,野火用了四个通道,我只用了TIM4的第一通道,程序如下:
#include "pwm_output.h"
void pwm_value(void)
{
TIM4->CCR1=1300;
}
/*
* 函数名:TIM3_GPIO_Config
* 描述 :配置TIM3复用输出PWM时用到的I/O
* 输入 :无
* 输出 :无
* 调用 :内部调用
*/
static void TIM4_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* TIM4 clock enable */
//PCLK1经过2倍频后作为TIM3的时钟源等于72MHz
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
/*GPIOB clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // 复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOB, &GPIO_