杂项——编码器控制小车走固定距离(stm32)

先算出轮子转一周编码器的数值(假设为1000),再算出轮子一周的周长(假设为10cm)。

那么要前进1米只需要转1米/10cm等于10圈,10圈编码器数值为10000。

我们只需要在代码里面写出编码器数值如果<10000则让小车前进,如果>10000让小车停止,即可实现控制小车走固定的距离

编码器.c函数(编码器初始化和中断已省略)

复制代码
int mi=0;


/**********************
编码器
速度读取函数
入口参数:定时器
**********************/
int Read_Speed(int TIMx)
{
	int value_1;
	
	

	switch(TIMx)
	{
		case 2:
				value_1=(short)TIM_GetCounter(TIM2);		//读取编码器的值	
				if(value_1>6230|value_1<-6230)				//如果轮子正转一米或反转一米将计数器清零
				{
					TIM_SetCounter(TIM2,0);	
					mi++;
				}			
		break;
		
		
		
		case 4:	
				value_1=(short)TIM_GetCounter(TIM4);	
				if(value_1>6230|value_1<-6230)
				{
					TIM_SetCounter(TIM4,0);
					//mi++;
				}			
		break;
		default:value_1=0;
	}
	return value_1;
}

主函数(只列出主要部分)

复制代码
		if(mi<1)
		{
		Load(2250,2200);
		}
		else
		{
		
		Load(0,0);
		}
相关推荐
别掩25 分钟前
MOS防倒灌电路设计
单片机·嵌入式硬件
夜流冰1 小时前
EE - 电容电感电路中电流的变化
单片机·嵌入式硬件
橙露1 小时前
STM32中断配置全解析:从寄存器到HAL库的实战应用
stm32·单片机·嵌入式硬件
c-u-r-ry302 小时前
ZYNQ7 Processing System各个配置界面介绍
嵌入式硬件
idcardwang2 小时前
esp32s3-pwm介绍与stm32的不同原理
单片机·嵌入式硬件
码咔吧咔3 小时前
Flash 是什么?SRAM 是什么?它们的作用、特点、区别、在 STM32 中如何使用?
stm32·嵌入式硬件
LaoZhangGong1233 小时前
学习TCP/IP的第1步:ARP数据包
网络·stm32·学习·tcp/ip·以太网·arp·uip
三佛科技-187366133974 小时前
KP521405LGA低功耗5V1A易用高性能BUCK同步降压转换器芯片解析
单片机·嵌入式硬件
Joshua-a4 小时前
FPGA基于计数器的分频器时序违例的解决方法
嵌入式硬件·fpga开发·fpga
Dillon Dong4 小时前
STM32嵌入式:如何使用keil 来获取flash块数据并转换成可视化的数据 来判断源头数据是否错误
stm32·单片机·嵌入式硬件