首页 > 其他分享 >杂项——编码器控制小车走固定距离(stm32)

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

时间:2024-06-09 18:03:53浏览次数:8  
标签:编码器 10000 int 小车 TIMx value 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);
		}
		
		
		

标签:编码器,10000,int,小车,TIMx,value,stm32,杂项
From: https://blog.csdn.net/2302_80529671/article/details/139543731

相关文章

  • STM32单片机开发入门(四) 示波器的介绍及使用方法
    文章目录一.概要二.探头补偿校准三.电压测量四.波形的测量与分析五.串口通讯波形测量解析六.触发捕捉瞬时信号七.小结一.概要示波器主要用于观察电信号的波形变化。在显示屏上,工程师可以直接看到电信号的全过程,从而进行定性和定量的分析。这种仪器通常用于显示电压......
  • 3.7v可充电锂电池,能否直接给STM32F1芯片用?
    原文链接:https://www.amobbs.com/thread-5678061-1-1.html 问:就是18650锂电池,单节,或者那种聚合物锂电池,都是两三千毫安时的。第一个为题:能否直接给STM32F103供电?第二个问题:板子上自带1117-3.3,我直接锂电池接过去,也能输出3.3V,压差可以这么小么?第三个问题:其他的电压转换芯片......
  • 基于STM32的同步整流Buck-Boost数字电源 开源
    一款基于STM32G474的四开关Buck-Boost数字电源,支持TypeC接口PD诱骗输入和DC5.5接口输入,输入/输出最高48V10A,这是我的毕业设计,现在开源出来,含原理图、PCB、程序源码、外壳3D模型等资料。做得一般,勿喷,欢迎友好交流。作品演示视频:https://www.bilibili.com/video/BV1Ui421y7i......
  • stm32系列--DAC的应用
     #include"bsp_dac.h"#include"math.h"//#include"stm32f10x_tim.h"//#include"stm32f10x_dma.h"//#include"stm32f10x_dac.h"//正弦波单个周期的点数#definePOINT_NUM32#defineangle3.1415/64/*初始波形数据-----......
  • stm32系列--ADC使用
      #include"adc.h"#include"delay.h"////////////////////////////////////////////////////////////////////////////////////本程序只供学习使用,未经作者许可,不得用于其它任何用途//ALIENTEK战舰STM32开发板//ADC代码//正点原子@ALIENTEK//技术论......
  • STM32F767+LWIP+CubeMX配置
    一、环境准备电脑系统:Windows10专业版 20H2IDE:Keilv5.35、STM32CubeMXv6.5.0测试硬件:STM32F767二、测试步骤1、测试目的通过CubeMX配置lwip,ping通STM32F7672、新建工程3、配置sys不使用操作系统,那么时基源直接使用Systick,SWD调试。4、配置RCC高速时钟为电路......
  • STM32: DMA数据传输学习
    一.DMA简介DMA(DirectMemoryAccess)直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。相当于CPU的数据传输小助手。二.DMA功能特性如图,有三个DMA通道,分别是......
  • STM32 HAL库开发——入门篇(3):OLED、LCD
    源自正点原子视频教程:【正点原子】手把手教你学STM32HAL库开发全集【真人出镜】STM32入门教学视频教程单片机嵌入式_哔哩哔哩_bilibili一、OLED二、内存保护(MPU)实验2.1内存保护单元 三、LCD3.1显示屏分类3.2LCD简介 3.3LCD驱动原理  ......
  • STM32解决方案2:STM32程序中移植入其他模块注意事项
    Question在一个stm32大的开发程序中,如果要编写完之后移植入一个模块,如果要重新再编写整个程序显然很麻烦。为此,我们以stm32F103的一个程序为例,移植入LCD显示屏模块。(1)在对应的文件夹下导入LCD的文件。(2)在对应文件中添加该头文件(3)在此处加入LCD所在的目录(4)一定要记......
  • STM32学习(USART通信协议)
            本文章时本人根据江科大视频所记录的笔记,希望对大家的学习能提供帮助。1.通信接口通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统(stm32内部芯片无法得到的数据,需要连接外部芯片获取)通信协议:制定通信的规则,通信双方按照协议规则进行数据收发USAR......