STM32cubemx——超声波测距
一、测量原理
1.核心:使用定时器输入捕获函数来计算高低电平的差值,而后计算
2.利用状态标志位,来指示函数的进程
3.利用寄存器的变化值来计算
具体:当你设置的捕获开始的时候,cpu会将计数寄存器的值复制到捕获比较寄存器中并开始计数,当再次捕捉到电平变化时,这是计数寄存器中的值减去刚才复制的值就是这段电平的持续时间,你可以设置上升沿捕获、下降沿捕获、或者上升沿下降沿都捕获,由此计算超声波高电平时间。
4.cubemx的配置
具体看:(36条消息) 嵌入式创客工坊的博客_CSDN博客-STM32(HAL库)外设实战,AD20应用技巧,未分类内容领域博主
5.getdata函数()可获取一个数组的值
后续:可加卡尔曼滤波函数来消除测量误差
6.附加一点源程序
while (1){SR04_GetData( );HAL_Delay(200);KalmanFilter(&kfp,distant);printf("\r\n-¼ì²â¾àÀëΪ-%.2f-cm-\r\n",distant);HAL_Delay(200);distant1=((int)(distant*100)%100)/10;distant2=((int)(distant*100)%100)%10;/* USER CODE END WHILE *//* USER CODE BEGIN 3 */OLED_ShowNum(0,16,distant,2,16);
OLED_ShowNum(19,16,distant1,1,16);
OLED_ShowNum(27,16,distant2,1,16);
OLED_Refresh(); }
在此函数中,我解决了0.96oled怎么输出变量及小数点。
哦对,我在这个过程中也学会了使用串口。重定义串口等
STM32cubemx——超声波测距相关推荐
- 利用STM32CubeMX配置基于STMF32F407的FREERTOS操作系统控制直流电机速度和超声波测距实验
前两周做基于STM32F407芯片的嵌入式系统设计的实验,主要完成利用超声波测距(电脑上用串口显示超声波所测距离,障碍物近于20cm时,使LED灯闪烁,并且可以通过串口更改报警距离)和利用编码器读取电 ...
- STM32单片机基于HAL库开发HC-SR04 超声波测距模块(终极版)
参考: 某宝HC-SR04 超声波测距模块商品详情页 STM32L051C8T6 HAL库 输入捕获进行超声波测距 案例 STM32CubeMX学习笔记3--TIM2输入捕获(SR-04测距) cub ...
- 基于STM32F103C8T6(HAL库)的HC-SR501红外人体传感及HC-SR04超声波测距
系列文章目录 一.基于STM32F103C8T6最小系统板和STM32CubeMX实现LED灯循环闪烁 二.基于STM32F103C8T6和STM32CubeMX实现UART串口通信数据收发 三.实战 ...
- 【STM32】标准库与HAL库对照学习教程外设篇--超声波测距传感器
[STM32]标准库与HAL库对照学习教程外设篇--超声波测距传感器 一.前言 二.准备工作 三.超声波测距传感器 1.原理说明 2.使用说明 四.标准库使用传感器 1.实验程序 2.实验效果 五.H ...
- 经验分享帖 基于STM32的超声波测距HC-SR04(附程序)
CSDN上其实有很多超声波测距的博客,但我还是想写一篇,主要是附上可用的程序,伸手党最爱.其实我也是个伸手党,不过还是希望大家能自己动手自己多练自己能实现. 同时写下我的心得与看法: 1,程序是用ST ...
- 超声波测距测速升压可调中周倒车雷达变频器传感器1:10
简 介: 通过对于是用于超声波测速变压器的基本分析,为后面构成150kHz 放大节能信标组的感应信号打下基础. 关键词: 中周,电压器,超声波 ▌01 中周变压器 购买到这个周中变压器主要是为了构 ...
- 【 FPGA 】超声波测距小实验(一)
超声波测距原理: 超声波测距原理是在超声波发射装置发出超声波,它的根据是接收器接到超声波时的时间差,与雷达测距原理相似. 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播 ...
- 51单片机c语言测距,求助 关于C51单片机超声波测距 C语言程序设计 高手帮帮忙...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C51编程:超声波测距程序(附图) [请帮助] 2006-9-30 18:44:03 #include #define k1 P3_4 #define c ...
- Arduino的光敏传感器和超声波测距传感器测试代码
光敏传感器测试代码 使用的是一个未知名4pin模块, 4pin依次为Vcc, Gnd, DO, AO, 板载一个可调电阻以及一个LED, 调节电阻大小, 可以控制LED亮灭和DO输出变化对光亮的灵敏度 ...
最新文章
- Java 多线程同步和异步详解
- VS 断点无法调试学习总结
- Python自然语言处理工具包推荐
- 实用windows short cut
- 利用opencv读取图片将其作为opengl的纹理图片的实现方法
- 子窗口_不同线程下主窗口与子窗口的信息交互(一)
- 快速了解c#中的索引器
- LeetCode 822. 翻转卡片游戏(哈希)
- JAVA入门级教学之(第一章总结)
- 【华为云技术分享】大数据容器化,头部玩家尝到了甜头
- 使用fiddler4进行微信小程序抓包
- 数模比赛经验分享(美赛分享)
- robocode_Robocode大师的提示,技巧和建议的集合
- java银行叫号_银行排队叫号系统
- PySide2将控制台内容打印到textEdit控件
- 【C++】优先级队列priority_queue模拟实现仿函数
- HTML5-俄罗斯方块
- 平生事,此时凝睇,谁会凭栏意!(4)
- Poemscape|Beta阶段事后诸葛亮
- 分辨率PPI(Pixel Per Inch)与DPI(Dot Per Inch)