杂项——编码器控制小车走固定距离(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 分钟前
ADC单通道采集实验
单片机·stm中adc单通道采样
点灯小铭8 小时前
基于单片机的窗帘、灯光、空调智能家居控制系统设计
单片机·嵌入式硬件·毕业设计·智能家居·课程设计·期末大作业
飞凌嵌入式9 小时前
【玩转多核异构】T153核心板RISC-V核的实时性应用解析
linux·嵌入式硬件·嵌入式·risc-v
怎么就重名了10 小时前
STM32+蓝牙模块+超声波模块+QT
stm32·嵌入式硬件·qt
oshan201211 小时前
小华HC32L136K8TA 单片机新建 MDK5 工程模板(二)
单片机·嵌入式硬件
11 小时前
独立看门狗(IWDG)
stm32·iwdg独立看门
三品吉他手会点灯12 小时前
STM32F103学习笔记-16-RCC(第4节)-使用 HSI 配置系统时钟并用 MCO 监控系统时钟
笔记·stm32·单片机·嵌入式硬件·学习
Lester_110112 小时前
嵌入式学习笔记 - 关于看门狗定时器的喂狗的操作放在中断还是放在主循环
笔记·单片机·学习
bai54593613 小时前
LED闪烁功能代码详解
单片机·嵌入式硬件
吃货界的硬件攻城狮15 小时前
【STM32】低功耗模式下的IO配置详解(标准库实现)
stm32·单片机·嵌入式硬件