平衡小车基本外设配置(外设配置、定时器、编码器模式、速度读取、pwm,exti)

本文详细介绍了STM32微控制器中定时器、编码器和PWM的基础配置方法,包括定时器初始化、编码器模式设置、速度读取及PWM输出。通过具体的代码示例,展示了如何使用标准库和HAL库进行外设配置。

基本外设配置

外设配置、定时器、编码器模式、速度读取、pwm,exti

基本外设的程序配置

创建.c文件和.h文件,头文件中注意 #ifndef _xxx

#def _xxx

#endif

配置编码器模式

编码器1——PA0/PA1—TIM2

编码器2——PB6/PB7—TIM4

#标准库 编码器的配置

  //摘自B站天下行走

void Encoder_TIM2_Init(void)

{
   
   

	GPIO_InitTypeDef GPIO_InitStruct;

	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;

	TIM_ICInitTypeDef TIM_ICInitStruct;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启时钟

	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);

	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;//初始化GPIO--PA0、PA1

	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0 |GPIO_Pin_1;

	GPIO_Init(GPIOA,&GPIO_InitStruct);

	TIM_TimeBaseStructInit(&TIM_TimeBaseInitStruct);//初始化定时器。

	TIM_TimeBaseInitStruct.TIM_ClockDivision=TIM_CKD_DIV1;

	TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;

	TIM_TimeBaseInitStruct.TIM_Period=65535;

	TIM_TimeBaseInitStruct.TIM_Prescaler=0;

	TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStruct);

	TIM_EncoderInterfaceConfig(TIM2,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising);//配置编码器模式

	TIM_ICStructInit(&TIM_ICInitStruct);//初始化输入捕获

	TIM_ICInitStruct.TIM_ICFilter=10;

	TIM_ICInit(TIM2,&TIM_ICInitStruct);

	TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//配
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值