基于STM32的超声波测距(外部中断+定时器)KEIL工程文件

上传者: 45100839 | 上传时间: 2021-08-18 13:34:26 | 文件大小: 7.07MB | 文件类型: ZIP
使用STM32的定时器与外部中断配合实现超声波模块的测距功能。 这里总体说一说此程序比较理想的执行情况: (1)超声波被调用初始化函数,定时器被设定为可中断,并且定时器开始计数; (2)计数到溢出,触发定时器中断,它会调用超声波启动函数Ultrasound_start(); (3)超声波启动后,有回波信号,将触发外部中断(上边沿),进入外部中断直接关掉定时器中断和定时器,判断确实有回波信号,进入到(检测到返回信号)代码段,清空定时器的CNT寄存器,重设重载值ARR寄存器,开启定时器。此时,定时器进行ECHO引脚得高电平持续时间检测; (4)再一次中断来临(下降沿),还是直接关掉定时器中断触发和定时器,这次进入(返回信号结束)代码段,首先判断定时器是不是计数的高电平时间。若是,就判断我的获取次数是否已满,满了就置位flag, 没有满,就将定时器CNT寄存器里面的值提出来参与距离公式运算得到当前所测距离。执行到最后继续开启定时器中断和定时器,并重新设定重载值。此时定时器进行间隔时间计数。所以,定时器计数到溢出中断后,又会去调用一次超声波启动函数Ultrasound_start();

文件下载

资源详情

[{"title":"( 203 个子文件 7.07MB ) 基于STM32的超声波测距(外部中断+定时器)KEIL工程文件","children":[{"title":"stm32f10x_spi.h <span style='color:#111;'> 17.31KB </span>","children":null,"spread":false},{"title":"stm32f10x_crc.h <span style='color:#111;'> 2.11KB </span>","children":null,"spread":false},{"title":"stm32f10x_tim.h <span style='color:#111;'> 51.20KB </span>","children":null,"spread":false},{"title":"stm32f10x_usart.h <span style='color:#111;'> 16.16KB </span>","children":null,"spread":false},{"title":"stm32f10x_dma.h <span style='color:#111;'> 20.27KB </span>","children":null,"spread":false},{"title":"......","children":null,"spread":false},{"title":"<span style='color:steelblue;'>文件过多,未全部展示</span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明