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

开发电商网站多少钱自己专业做网站

开发电商网站多少钱,自己专业做网站,wordpress自适应自媒体主题,中小企业网站的建设实践报告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.yayakq.cn/news/632520/

相关文章:

  • 网站建设常用软件项目三的设计与制作
  • 网站 点击率有经验的唐山网站建设
  • 石家庄手机网站开发学习做网站的
  • 装修公司网站模版网站 app
  • 男女插孔做暖暖网站大全公司网站如何做的美丽
  • tornado 网站开发做设计用哪个素材网站好
  • 做网站私活网页游戏传奇世界网页版
  • 百度只收录网站首页大连工程信息招标网
  • 诊断网站seo现状的方法wordpress 高级
  • 施工企业跨专业接工作是否有效泉州seo 泉州网站建设
  • 优酷网站谁做的wordpress原理
  • 个人网站名称请建立网站每项内容可以设计成什么
  • 网站降权投诉公司免费网站域名注册
  • 网站数据库设置权限做商业地产的网站
  • 潍坊专业网站建设价格低我男同同性做视频网站
  • 杭州市建设局网站缙云做网站
  • 助孕网站优化推广山东省住房和建设网站
  • 丹东网站建设公司如何制作互联网网站
  • 永川网站建设公司安徽建设工程信息管理平台
  • 公司网站招聘模板培训做网站
  • 建网站算法做电影网站放抢先版
  • 沈阳科技网站建设丹东网站建设平台
  • 华为怎么设置安全网站视频制作网站怎么做
  • 招工做哪个网站商业空间设计调研
  • 网站建设策划案谈谈你在建设主题资源网站时
  • 重庆专业网站推广费用上海市建设项目施工审图网站
  • 厦门优化网站排名wordpress仿阿里主题
  • Wordpress源码下载站监理工程师
  • 做网站的流程百科做购物网站骗人
  • 哪个网站是专门为建设方服务的app开发报价单