学习笔记STM32F429使用编码器测速HAL库版本
void TIM4_Init(u16 arr,u16 psc) 在这里我们配置编码器模式,开启时钟和溢出中断
在中断回调函数里,我们将TIM4->CR1的第5位不变,假如第五位是0,应选择递增计数,我们让计数器增加1。(0x0010==0000 0000 0001 0000)这里的次数我们是在计算溢出次数。要注意我们在TIM4_Init() 是把计数器CNT的值设为了1000,而ARR设置成了2000,这样计数器每次开始工作都是从1000->2000,0->2000,0->2000这样循环,Interupt_Num的值就是我们记录的溢出总数,而最开始的一次溢出是从1000开始,所以总的脉冲数就是 (溢出总数-1)*2000+1000(最开始的1000)+ CNT(计数器内未达到2000的值),之所以用溢出总数-1是因为我们总的脉冲数里把最开始1000->2000的值加进去了,所以要减去1000->2000的一次溢出次数。
AAA是我设置用来计算速度的变量。在每次最开始调用Circle_Print()的时候我们首先把测过的总的脉冲数赋给变量AAA,此时AAA=0,,然后在Pulse_Num = 1000 + (Interupt_Num - 1) *2000 +TIM4->CNT ; //在第一圈完成之后,计算脉冲数多的方法这一句计算总的脉冲数,计算原理我们已经在上一条说过了。然后在这一句speed =(Pulse_Num-AAA);我们用至今为此总的脉冲数减去AAA即为每两次调用Circle_Print()的脉冲差,而我们在主函数中使用一个100ms的延时,所以时间差为100ms,脉冲反映小车路程,可以得到速度。 在文件中写入了函数之后要在头文件和主函数里添加初始化,否则不会识别。 TIM4_Init(2000,3);在主函数内初始化TIM4时设置了ARR为2000。 欢迎批评斧正。 |
89MVP0O2BU~@CJ){Y]]`JD2.png (39.54 KB, 下载次数: 5)
学习笔记STM32F429使用编码器测速HAL库版本相关推荐
- STM32定时器编码器模式实现直流有刷电机测速(HAL库)
前言 最近在做一个单片机大作业,要用到直流有刷,在这里把学习编码器的知识记录一下,学习参考资料: 正点原子DMF407电机控制专题教程_V1.0 编码器测速原理 我所使用的编码器是市面上常见的磁电增量 ...
- STM32 HAL库实现编码器测速
STM32 HAL库实现编码器测速 (还开了串口1用来调试,下文没写:然后那个short的用法就是看平衡小车之家(就是喵呜实验室的文档里头的,用法确实惊艳),文末贴了工程) 编码器接口模式 TI1和T ...
- smb测速工具_编码器测速例子
编码器测速例子 各位好,我现在要用 CPU226 通过编码器测电机转速,看了许多手册编的程序总是测不出来, 编码器用的是 A/B 两相的,那位能给发个简单的例子啊, 转自网上的回答, 我也正在学习这个 ...
- Stm32-使用TB6612驱动电机及编码器测速
这里写目录标题 起因 一.电机及编码器的参数 二.硬件 三.接线 四.驱动电机 1.TB6612电机驱动 2.定时器的PWM模式驱动电机 五.编码器测速 1.定时器的编码器接口模式 2.定时器编码器模 ...
- 单片机c语言计数器测速,基于51单片机的光电编码器测速.doc
课程设计报告 课程名称: 微机原理课程设计 题 目: 基于51单片机的光电编码器测速 摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器.在位置控制系统中,由于电机既可能正转,也可能反转,所 ...
- 一种基于STM32F1 MCU的增量型编码器测速的方法
遇到的问题 1. 编码器信号,用来计量长度,如果需要同时测量当前实时速度,在不增加接口的情况下,实现较为准确实时的测速 2. 简单的M法速度,对于低速信号,测量精度较差,实时性也不高. 测速方法 之前 ...
- CUDA学习笔记(持续更新——蜗速)
CUDA学习笔记(持续更新--蜗速) 1.CUDA 程序实现流程如下 2.内存管理 3.核函数 4.全局数据访问唯一索引 5.设备管理 附录代码 1.CUDA 程序实现流程如下 将数据从CPU内存拷贝 ...
- 51单片机电机测速程序c语言,基于51单片机光电编码器测速.doc
基于51单片机光电编码器测速 PAGE PAGE 2 课程设计报告 课程名称: 微机原理课程设计 题 目: 基于51单片机的光电编码器测速 摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器 ...
- 直流有刷电机编码器测速基于STM32F302R8+X-NUCLEO-IHM07M1
文章目录 前言 一.编码器测速原理 二.STM32F302R8+X-NUCLEO-IHM07M1直流电机编码器测速 2.1.功能需求 2.2.硬件设计 2.3.软件设计 2.3.1.底层配置 2.3. ...
最新文章
- WebSpider的编码问题(乱码)浅析
- Linux shell 编程入门 - 使用ubuntu-14.10
- 15.4.5 简化元组的使用
- Windows 之 删除文件出现“该项目不在请确认该项目的位置”
- 35岁以前把下面十件事做好
- 代码质量检测平台架构设计
- HDU2025 查找最大元素【最值】
- 数域、有限域(伽罗瓦域)
- 瑞利信道,莱斯信道和高斯信道模型
- 三星530换固态硬盘_笔记本电脑换固态硬盘+装系统
- 免费苹果账号(apple id)申请ios证书p12真机调试
- css常见定位、居中方案
- 职能部门绩效考核指标设置
- HTML与CSS学习
- 微信卡包开发php,一个用起来非常简单,功能丰富的微信开发包
- Jupyter Notebook简洁教程
- 网络工程师模拟测试题
- 外汇交易与实务--即期外汇交易
- 关于EBGP用回环口起邻居遇到的问题
- maven明明本地仓库有依赖包,还会远程下载的问题
热门文章
- 爆了!K哥搞定8个Offer
- 论文阅读《How Does Knowledge Graph Embedding Extrapolate to Unseen Data: A Semantic Evidence View》
- python - windows 之 win32api资料教程与函数大全
- 如何使用WordPress事件日历插件
- c语言装饰,C/C++知识点之装饰器模式(Decorator) C++
- 小白兔是世界上笑话最多的禽兽
- L4级自动驾驶方案---安霸CV2 SOC芯片
- 2020华为实习生(提前批)面试经验
- 利用大数据挖掘创新市场监管新方式
- 创新实训(1)——小组成员初步讨论,进行小组分工,明确项目范围项目范围