当前位置: 首页 > news >正文

个人邮箱注册申请windows优化软件

个人邮箱注册申请,windows优化软件,网页制作公司 贵阳,武汉做外贸网站的公司1、模块介绍 型号:HC-SR04 超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度, 计算出模块到前方障碍物的距离。 2、超声波模块的使用方法 怎么让它发送波 Trig ,给Trig端口至…

1、模块介绍

型号:HC-SR04

 超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度, 计算出模块到前方障碍物的距离。

 2、超声波模块的使用方法

  • 怎么让它发送波

        Trig ,给Trig端口至少10us的高电平

  • 怎么知道它开始发了

        Echo信号,由低电平跳转到高电平,表示开始发送波

  • 怎么知道接收了返回波

        Echo,由高电平跳转回低电平,表示波回来了

  • 怎么算时间

        Echo引脚维持高电平的时间!

        波发出去的那一下,开始启动定时器

        波回来的拿一下,我们开始停止定时器,计算出中间经过多少时间

  • 怎么算距离

        距离 = 速度 (340m/s* 时间/2

3、 超声波时序图

4、编程实现

需求:使用超声波测距,当手离传感器距离小于5cm时,LED1点亮,否则保持不亮状态。

codeMX配置

 定时器配置:使用 TIM2 ,只用作计数功能,不用作定时。 将 PSC 配置为71,则计数 1 次代表 1us

这里因为涉及到us级的延时,而我们的HAL_Delay()延迟函数时ms级别的所以在这里用不了。需要我们使用定时器编写一个us级的延时函数

使用到的HAL库函数

1.启用TIM外设(启动定时器计数)

__HAL_TIM_ENABLE(__HANDLE__)  

参数:定时器的句柄

2.在运行时设置TIM计数器寄存器值(设置计数器的值)

#define __HAL_TIM_SetCounter            __HAL_TIM_SET_COUNTER

#define __HAL_TIM_SET_COUNTER(__HANDLE__, __COUNTER__) 

参数1:定时器的句柄

参数2:指定计数器寄存器的新值

3.在运行时获取TIM计数器寄存器值

#define __HAL_TIM_GetCounter            __HAL_TIM_GET_COUNTER

#define __HAL_TIM_GET_COUNTER(__HANDLE__)

参数:定时器的句柄

返回值:计时器计数器寄存器的值 (TIMx_CNT)

4.禁用TIM外设(关闭定时器计数)

#define __HAL_TIM_DISABLE(__HANDLE__)

参数:定时器的句柄

5.启动TIM Base生成(启动定时器)

HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim)

参数:定时器的句柄

6.停止生成TIM Base。(停止定时器)

HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim)

参数:定时器的句柄

__HAL_TIM_ENABLE(&htim2)与 HAL_TIM_Base_Start(&htim2)两个库函数有什么区别

代码实现

延时函数代码:

//使用TIM2来做us级延时函数
void TIM2_Delay_us(uint16_t n_us)
{/* 使能定时器2计数 */__HAL_TIM_ENABLE(&htim2);__HAL_TIM_SetCounter(&htim2, 0);while(__HAL_TIM_GetCounter(&htim2) < ((1 * n_us)-1) );/* 关闭定时器2计数 */__HAL_TIM_DISABLE(&htim2);
}

main函数里面的代码

  while (1){//1. Trig ,给Trig端口至少10us的高电平HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_SET);TIM2_Delay_us(20);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,GPIO_PIN_RESET);//2. echo由低电平跳转到高电平,表示开始发送波while(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_5) == GPIO_PIN_RESET);//波发出去的那一下,开始启动定时器HAL_TIM_Base_Start(&htim2);__HAL_TIM_SetCounter(&htim2,0);//测量之前先把次数置零//3. 由高电平跳转回低电平,表示波回来了while(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_5) == GPIO_PIN_SET);//波回来的那一下,我们开始停止定时器HAL_TIM_Base_Stop(&htim2);//4. 计算出中间经过多少时间count = __HAL_TIM_GetCounter(&htim2);//获取次数dis = (0.017 * count) / 2;//5. 距离 = 速度 (340m/s)* 时间/2(计数1次表示1us)if(dis < 10){HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET);HAL_Delay(1000);}else{HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);}//每500毫秒测试一次距离HAL_Delay(500);}
http://www.tj-hxxt.cn/news/113297.html

相关文章:

  • wordpress商城多重分类sem 优化价格
  • 厦门国外网站建设公司哪家好seo俱乐部
  • 网站建设对策免费获客软件
  • 网站建设工作分解结构词典中央下令全国各地核酸检测
  • 一个好的营销型网站模板公众号怎么推广
  • 上海中小企业服务中心官网郑州seo技术博客
  • 小程序开发平台竞品分析枫树seo网
  • 南昌网站优化公司关键词seo培训
  • 学校网站建设申请手机百度问一问
  • 网站建设 软件开发的公司排名百度科技有限公司
  • 徐州网络推广seo臻系统
  • 2018政府网站建设 会议销售渠道都有哪些
  • 林业局网站建设方案百度广告关键词价格表
  • 如何搭建一个购物网站重庆二级站seo整站优化排名
  • 宠物网站建设策划书为什么sem的工资都不高
  • 好公司网站建设价格低最好用的搜索神器
  • 建设银行网站怎么登陆不了班级优化大师官方免费下载
  • 有网站有安全狗进不去了seo查询优化
  • 郑州做网站找赢博科技培训机构哪家最好
  • 一级消防工程师考试题库2000题seo搜索优化公司报价
  • 中国公路建设招标网站百度引流免费推广怎么做
  • 网站开发好公司熊猫关键词工具官网
  • seo 网站结构调整手机注册网站
  • 兰州网站哪里做seo关键词找29火星软件
  • 网站一体化建设江阴百度推广公司
  • 网站关于我们怎么做单页面什么是搜索引擎优化推广
  • 完备的常州网站推广b2b
  • 安徽泗县建设银行网站网络营销的几种模式
  • 网站建设功能定位公司百度官网优化
  • 白云网站制作seo如何优化排名