【STM32学习】(13)STM32实现超声波测距(HC-SR04)

非 Y 不嫁゛ 提交于 2019-12-18 22:10:27

经过反复的研究和调试,终于搞好了,所以说,只要静下心,肯于研究,问题就会显得没那么复杂。

博文写之前,先要分析一下硬件的基本构造和样式以及它的工作原理:

样式如图:


工作原理(很重要):

说明一下工作过程:

单片机型号:STM32F103VET

       1.提供一个10us以上的脉冲

       2.模块会自动发出8个40KHz周期电平,并检测回波

       3.等待输出回响信号,

             要注意这个电平是自动产生的,测试距离远,这个脉宽就宽,与检测距离成正比

实现步骤:

     1.用按键来调用测距功能,后期可以修改成自动循环测距,但循环测距的周期要在60ms以上,不然会有干扰

              按键接在PC0

     2.打开串口1(USART1),为了在电脑上用串口调试助手看测试的距离值。

     3.打开定时器TIM3,这里设置了5us中断一次,读者也可以用其它定时器完成

     4.开外部中断1,映射到PA1口外部中断

这样就差不多了

接线:

按键接在PC0

超声波测距模块,trig接在PA0

超声波测距模块,Echo接在PA1

超声波测距模块,VCC接在5V上

 

下面看代码,因为代码分的文件比较多。只贴出核心代码:

核心代码如下:

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!