网站 建设在作用是什么丹阳翼网官网

bicheng/2026/1/17 7:33:38/文章来源:
网站 建设在作用是什么,丹阳翼网官网,海口公司网站建设,wordpress 云标签小工具参考#xff1a;stm32 超声波模块 原理 实现测距 舵机使用 作者#xff1a;点灯小哥 发布时间#xff1a; 2021-03-10 19:37:16 网址#xff1a;https://blog.csdn.net/weixin_46016743/article/details/114643703 目录效果展示超声波传感器原理超声波测距编程步骤代码编写… 参考stm32 超声波模块 原理 实现测距 舵机使用 作者点灯小哥 发布时间 2021-03-10 19:37:16 网址https://blog.csdn.net/weixin_46016743/article/details/114643703 目录效果展示超声波传感器原理超声波测距编程步骤代码编写效果展示 超声波传感器原理 超声波测距编程步骤 要配置三个结构体 接线 TrigPB11EchoPB10PB5连接舵机 代码编写 HC_SR04.h #ifndef _HC_SR04_H //#ifndef #define #endif 条件编译 为了防止重复编译 #define _HC_SR04_H #include stm32f10x.h // Device headervoid HC_SR04(void); void Open_tim4(void); void Close_tim4(void); int GetEcho_time(void); float GetLength(void);//ECHO读取 #define ECHO_Reci GPIO_ReadInputDataBit( GPIOB, GPIO_Pin_10) //Trig发送 #define TRIG_Send(a) if(a) \//与下一行连接起来GPIO_SetBits(GPIOB, GPIO_Pin_11); \else \GPIO_ResetBits(GPIOB, GPIO_Pin_11) #endif超声波HC_SR04.c #include stm32f10x.h // Device header #include HC_SR04.h #include SysTick.hextern uint16_t mscount 0; //extern 让main函数也能使用这里这个void HC_SR04(void) {GPIO_InitTypeDef GPIO_HC_SR04init; //1.配置GPIO引脚结构体 Trig PB11 Echo PB10TIM_TimeBaseInitTypeDef TIM_HC_SR04init; //2.配置定时器结构体NVIC_InitTypeDef NVIC_HC_SR04init; //3.配置NVIC中断控制器结构体(TIM4定时器)NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//中断组1//rcc.hRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//4.开启GPIOB时钟在APB2总线上RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);//定时器的时钟//Trig PB11 发送GPIO_HC_SR04init.GPIO_Mode GPIO_Mode_Out_PP; //推挽输出GPIO_HC_SR04init.GPIO_Pin GPIO_Pin_11; GPIO_HC_SR04init.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init( GPIOB, GPIO_HC_SR04init );//Echo PB10 接收GPIO_HC_SR04init.GPIO_Mode GPIO_Mode_IN_FLOATING;//浮空输入 只要求高电平 高低电平直接检测GPIO_HC_SR04init.GPIO_Pin GPIO_Pin_10;GPIO_Init( GPIOB, GPIO_HC_SR04init );//定时器4的配置TIM_HC_SR04init.TIM_ClockDivision TIM_CKD_DIV1;//分频系数1 不分频 还是72MHzTIM_HC_SR04init.TIM_CounterMode TIM_CounterMode_Up;//向上计数TIM_HC_SR04init.TIM_Period 100 - 1 ; //1usTIM_HC_SR04init.TIM_Prescaler 72 - 1 ; //72M 这两个相乘7200/72 000 000 1usTIM_TimeBaseInit( TIM4, TIM_HC_SR04init);TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE);//IT就是中断 定时器中断配置 中断标志TIM_IT_Update是允许溢出/更新标志位TIM_Cmd( TIM4, DISABLE ); //定时器先关闭 等测量距离时再打开 下面给出打开定时器函数//NVIC中断控制器(TIM4定时器)NVIC_HC_SR04init.NVIC_IRQChannel TIM4_IRQn;// 通道 中断源是定时器4NVIC_HC_SR04init.NVIC_IRQChannelPreemptionPriority 0;//抢占优先级 给的最高的NVIC_HC_SR04init.NVIC_IRQChannelSubPriority 0;//子优先级NVIC_HC_SR04init.NVIC_IRQChannelCmd ENABLE;NVIC_Init(NVIC_HC_SR04init); } //打开定时器4 void Open_tim4(void) {TIM_SetCounter( TIM4, 0);//开启计数器计数 计数值从0开始mscount 0; //需要计算高电平5次数值 取平均值 防止一次算的距离不精准TIM_Cmd( TIM4, ENABLE ); //定时器使能 打开了 }//关闭定时器4 void Close_tim4(void) {TIM_Cmd( TIM4, DISABLE ); //关闭 }//定时器TIM4中断服务函数 函数名不能改动 void TIM4_IRQHandler(void) {if ( TIM_GetITStatus(TIM4, TIM_IT_Update) ! RESET) //判断是否发生中断{TIM_ClearITPendingBit(TIM4, TIM_IT_Update); //清除中断的标记位mscount; //记录发生的中断次数 为了取5次测量计算提高精度//定时器中断一次就是1us } }//获取定时器计数器的值 得到Echo高电平的时间 int GetEcho_time(void) {uint32_t t 0;t mscount * 1000; //发生了多少次中断 *1000 得到时间ms一次中断就是1ust TIM_GetCounter(TIM4);//获取定时器计数值 {这两行没看懂 感觉重复了}TIM4-CNT 0;//代表向上增的寄存器向上向下计数 前面章节有讲 要置零 重装载ms_delay(50);//系统定时器延时return t; }//获取超声波测距距离 float GetLength(void) {int i 0;uint16_t t 0;float length 0;float sum 0;while(i ! 5)//算5次 提高计算精度{TRIG_Send(1);us_delay(20);//硬件模块要求发送高电平时间大于10usTRIG_Send(0);//此时超声波开始工作了while(ECHO_Reci 0);Open_tim4();ii1;while(ECHO_Reci 1);Close_tim4();t GetEcho_time();//计算ECHO高电平持续时间就能换算出距离length ((float) t / 58.0);sum sum length; }length sum / 5.0;return length; }main.c #include stm32f10x.h // Device header #include usart.h #include led.h #include tim.h #include motor.h #include SysTick.h #include HC_SR04.h//记得添加路径void delay(uint16_t time) {uint16_t i 0;while(time--){i12000;while(i--);} }int main(void) {int pwmval 195;float Length 0;HC_SR04();Usart_Init();motor_config();while(1){int pwmval 155;Length GetLength();printf(%.3f\r\n,Length);//之前重定向print函数 串口打印输出距离 串口小助手就能看到打印的距离了ms_delay(500);//再加一个距离判断 将之前写的舵机部分加进来即可控制舵机if(Length 5){for(pwmval 195; pwmval 155;pwmval -15 )//逐步转到位置{TIM_SetCompare2( TIM3, pwmval); //5. 配置PWM比较值 配合重装载值生成占空比delay(1000)}}else if (Length 5){TIM_SetCompare2( TIM3, pwmval-20); //让舵机回去}} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设费用多少钱网站建设中 翻译

A Survey of Large Language Models 前言3. RESOURCES OF LLMS3.1 公开可用的模型CheckPoints或 API3.2 常用语料库3.3 库资源 前言 随着人工智能和机器学习领域的迅速发展,语言模型已经从简单的词袋模型(Bag-of-Words)和N-gram模型演变为更…

网站设计步骤有哪些网站整站下载器 全站克隆页面图片视频下载 仿站专用源码工具软件

点击上方蓝字关注“汪宇杰博客”导语前一阵我终于完成了博客系统动态生成favicon的功能。众所周知,favicon肯定有一个ico格式的图标,其余可以用 png manifest 的方式输出。然而这个ICO格式让我小收福报,今天就给大家分享一下解决办法。.NET自…

高端网站建设天软科技赣州91人才网赣州招聘

引言: VR全景图片就是通过专业的相机设备捕捉到的一个空间的高清图像,再经过专业工具进行拼合,呈现出一种环绕式的视觉效果。想象一下,当你站在一个完全真实的环境中,可以自由地转动视角,看到四周的景色&a…

乡村振兴网站建设装修公司网站模板

博主个人微信小程序已经上线:【中二少年工具箱】。欢迎搜索试用 正文开始 专栏简介1. 总览2. node_modules3.public4.src5.assets6.components7.router8.stores9.views10.App.vue11.main.js12.index.html 专栏简介 本系列文章由浅入深,从基础知识到实战…

北京有哪些网站建设公司好网页设计流行趋势

golang笔记17--编译调试go源码 前置条件编译源码在 fmt 包中加自定义函数说明 当前go语言越来越流行了,各大厂商都有加大go工程师的需求,作为go语言的学习者,我们除了要了解如何使用go语言外,也有必要了解一下如何编译、调试go源码…

网站建设业务范围学动漫制作需要什么基础

目录 协作 测试方法 标签:标签 内容/ref/ 判断 arr&&arr.length 交互 样式不生效:devtools查找,编译前的标签,运行时不一定存在 可交互的需要提示 hover样式 没有交互逻辑,就不要设置交互 无法交互…

html网页模板网站模板下载春节网页制作素材

es6 语法 解构 拼接 扩展运算 数组降为 symbol 迭代器 生成器 定时器 map 映射 对象字面量 私有属性 构造函数继承 promise async await 解构 // 解构var character {name:Brucezzz,pseudonym:Bruce,metadata:{age:32,gender:male,airbags: "说两句啊",airconditio…

网站收录的页面被k出来wordpress主题多语言包

目 录 摘 要 1 前 言 2 第1章 概述 2 1.1 研究背景 3 1.2 研究目的 3 1.3 研究内容 4 第二章 开发技术介绍 5 2.1相关技术 5 2.2 Java技术 6 2.3 MySQL数据库 6 2.4 Tomcat介绍 7 2.5 Spring Boot框架 8 第三章 系统分析 9 3.1 可行性分析 9 3.1.1 技术可行性 9 3.1.2 经济可行…

网络公司开发网站做网站关键字

ME21N创建采购订单的时候可以点击 暂存 按钮保存订单 ME22N进去修改的时候会提示这个订单是暂存的 在表EKKO里字段 MEMORY 打上了标识则标识这个是暂存的 MEMORYTYPE 字段则记录了暂存的状态

建免费网站的步骤交换友情链接前后必须要注意的几点

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

网站制作现在赚钱么深圳公明做网站

小伙伴在开发前端项目过程中,执行npm install安装项目依赖时,往往会遇到各种各样的报错,接下来建仔给大家总结一下几种常见报错解决方案! 第一种报错:无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 报错详…

一个网站怎么上线海南美容网站建设

UI自动化测试能够在一定程度上确保产品质量,尤其在降本提效的大背景下,其重要性愈发凸显。理想情况下,UI自动化测试不仅能够能帮我们规避不少线上问题,又能加快产品上线速度。然而现实却往往相去甚远,在多数情况下&…

宁波网站推广软件哪家强温州专业微网站制作网络公司

下载jenkins 官方下载地址:Jenkins 的安装和设置 清华源下载地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/windows-stable/ 最新支持java8的版本时2.346.1版本,在清华源中找不到,在官网中没找到windows的下载历史&#xff…

江汉建站公司制作和设计网页图

在vue项目中,想要设置如下图中所示滚动条的样式,可以采用如下方式: ​// 直接写在vue.app文件中 ::-webkit-scrollbar {width: 3px;height: 3px; } ::-webkit-scrollbar-thumb { //滑块部分// border-radius: 5px;background-color: #1890ff;…

做公司网站公司官方网站怎么注册

目录 1.介绍 2.快速入门 2.1.环境准备 2.2.快速开始 2.2.1引入依赖 2.2.2.定义Mapper ​编辑 2.2.3.测试 2.3.常见注解 ​编辑 2.3.1.TableName 2.3.2.TableId 2.3.3.TableField 2.4.常见配置 3.核心功能 3.1.条件构造器 3.1.1.QueryWrapper 3.1.2.UpdateWra…

连云港外贸网站建设聊城网站建设哪家便宜

系统环境 Ubuntu20.04 下载JDK压缩包 前往Oracle官网进行后续下载或单击下载JDK压缩包 下拉找到JDK8,在Linux板块下选择适配系统架构的压缩包文件(后缀为tar.gz),系统架构可通过uname -m命令查看 安装JDK 安装环境通常放在/usr/local下,进入…

河北恒山建设集团网站自助建站平台搭建

目录 一、基本概念 二、描述进程-PCB (一)task_struct-PCB的一种 (二)task_ struct内容分类 三、查看进程 (一)利用ps命令 (二) 通过 /proc 系统文件夹查看 (三…

做招聘的h5用哪个网站站长之家ip地址查询

Hbase 的三个应用 分布式自旋锁。分布式的唯一序列号分布式系统黑名单 分布式自旋锁是一种在分布式系统中用于实现并发控制的锁机制。它通过自旋操作来等待锁的释放,并尝试获取锁,以保证共享资源的访问的一致性和正确性。 以下是一个简单的伪代码示例…

去成都旅游攻略怎么做seo是什么意思以及怎么做

目录 206反转链表【链表结构基础】21合并两个有序链表【递归】我的答案【错误】自己修改【超出时间限制】在官方那里学到的【然后自己复写,错误】对照官方【自己修改】 160相交链表【未理解题目目的】在b站up那里学到的【然后自己复写,错误】【超出时间限制】对照官方【自己修改…

网站开发配置中国菲律宾商会

背景:我干哦!最近需求是让中英文翻译vue页面,我这个后端哪里会哦,这不遇见了一个棘手的问题,我描述下:上面是一个list 根据查询到的值进行判断显示,如果是z就显示主信息,其他的ABC正…