全志ARM-超声波测距

news/2024/5/12 0:40:14

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

1.测距原理:

给Trig端口至少10us的高电平发送声波,Echo信号,由低电平跳转到高电平,开始发送波;Echo,由高电平跳转回低电平,表示波回来了

计算时间:Echo引脚维持高电平的时间!声波发出去的那一下,开始启动定时器声波回来的拿一下,我们开始停止定时器,计算出中间经过多少时间

计算距离:

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

2. 时间函数

 

#include int gettimeofday(struct timeval *tv,struct timezone *tz )

gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中

1. timeval 结构体定义:

struct  timeval{long  tv_sec;  /*秒*/long  tv_usec; /*微妙*/};

 2. timezone 结构定义:

struct  timezone{int tz_minuteswest;/*和greenwich 时间差了多少分钟*/int tz_dsttime;    /*type of DST correction*/}:

代码实现:

//计算程序在当前环境中数数10万次耗时多少
#include <sys/time.h>#include <stdio.h>//int gettimeofday(struct timeval *tv,struct timezone *tz )void mydelay(){int i,j;for(i=0;i<100;i++){for(j=0;j<1000;j++);}}int main(){struct timeval startTime;struct timeval stopTime;gettimeofday(&startTime,NULL);mydelay();gettimeofday(&stopTime,NULL);long diffTime = 1000000*(stopTime.tv_sec - startTime.tv_sec) + (stopTime.tv_usec - startTime.tv_usec);printf("全志H6的Linux数100000耗时%ldus\n",diffTime);return 0;}


http://www.mrgr.cn/p/46637878

相关文章

字符串类型漏洞之updatexml函数盲注

UPDATEXML 是 MySQL 数据库中的一个函数&#xff0c;它用于对 XML 文档数据进行修改和查询。然而&#xff0c;当它被不当地使用或与恶意输入结合时&#xff0c;它可能成为 SQL 注入攻击的一部分&#xff0c;从而暴露敏感信息或导致其他安全漏洞。 在 SQL 注入攻击中&#xff0…

.NET 检测地址/主机/域名是否正常

&#x1f331;PING 地址/主机名/域名 /// <summary>/// PING/// </summary>/// <param name"ip">ip</param>/// <returns></returns>public static bool PingIp(string ip){System.Net.NetworkInformation.Ping p new System.N…

Flutter - 折叠面板

demo 地址: https://github.com/iotjin/jh_flutter_demo 代码不定时更新&#xff0c;请前往github查看最新代码 flutter 自定义折叠组件 支持三种类型和两种展示效果可自定义title和被折叠的内容 效果图 示例 import package:flutter/material.dart; import /jh_common/widge…

【算法刷题 | 贪心算法05】4.27(K次取反后最大化的数组和、加油站)

文章目录 8.K次取反后最大化的数组和8.1题目8.2解法&#xff1a;贪心8.2.1贪心思路8.2.2代码实现 9.加油站9.1题目9.2解法&#xff1a;贪心9.2.1贪心思路9.2.2代码实现 8.K次取反后最大化的数组和 8.1题目 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数…

Python_AI库 Matplotlib的应用简例:绘制与保存折线图

本文默认读者已具备以下技能&#xff1a; 熟悉Python基础语法&#xff0c;以自行阅读python代码块熟悉Vscode或其它编辑工具的应用 在数据可视化领域&#xff0c;Matplotlib无疑是一个强大的工具。它允许我们创建各种静态、动态、交互式的可视化图形&#xff0c;帮助我们更好…

OpenHarmony实战开发-如何实现自定义绘制 (XComponent)

XComponent组件作为一种绘制组件&#xff0c;通常用于满足开发者较为复杂的自定义绘制需求&#xff0c;例如相机预览流的显示和游戏画面的绘制。 其可通过指定其type字段来实现不同的功能&#xff0c;主要有两个“surface”和“component”字段可供选择。 对于“surface”类型…

jvm中的引用类型

Java中的引用类型 1.强引用 一个对象A被局部变量、静态变量引用了就产生了强引用。因为局部变量、静态变量都是被GC Root对象关联上的&#xff0c;所以被引用的对象A&#xff0c;就在GC Root的引用链上了。只要这一层关系存在&#xff0c;对象A就不会被垃圾回收器回收。所以只要…

HarmonyOS 应用开发——入门

首先当然是华为的官方文档了&#xff0c;要认真学习: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2 不想花时间看&#xff0c;可以看我下面总结的干货&#xff0c;哈哈 第一个问题&#xff1a;stage架构和fa架构的区…

Xcode 15构建问题

构建时出现的异常&#xff1a; 解决方式&#xff1a; 将ENABLE_USER_SCRIPT_SANDBOXING设为“no”即可&#xff01;

Open3D(C++) 最小二乘拟合多项式曲线

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 多项式曲线表示为: p ( x ) =

ROS1快速入门学习笔记 - 05发布者Publisher编程的实现

目录 一、话题模型&#xff08;发布/订阅&#xff09; 二、实现步骤 1. 创建一个功能包 2. C代码的实现 3. 配置发布者代码编译规则 4. 编译并运行发布者 5. Python代码的实现 一、话题模型&#xff08;发布/订阅&#xff09; 二、实现步骤 1. 创建一个功能包 $ cd~/ca…

IDEA实现Springboot项目自动热部署

每当我们在修改代码时&#xff0c;往往需要重新启动项目&#xff0c;这样不仅浪费时间而且很麻烦&#xff0c;我们可以通过IDEA的热部署来提高效率 1、首先点file >> settings >> Build Excution >> Compire&#xff0c;选择Build project auto matically 2.…

百度安全多篇议题入选Blackhat Asia以硬技术发现“芯”问题

Blackhat Asia 2024于4月中旬在新加坡隆重举行。此次大会聚集了业界最杰出的信息安全专业人士和研究者&#xff0c;为参会人员提供了安全领域最新的研究成果和发展趋势。在本次大会上&#xff0c;百度安全共有三篇技术议题被大会收录&#xff0c;主要围绕自动驾驶控制器安全、跨…

AG32 MCU在触摸屏的应用(AGM FPGA/MCU行业应用)

传统的屏驱MCU常见应用于洗衣机、空调、空调面板、仪器仪表等人机交互界面显示场景中&#xff0c;通常是以段码的形式显示设备运转的时间、温度、测量结果等简单运行数据&#xff0c;随着人机交互需求丰富化&#xff0c;智能家居设备、摩托车、电动车等产品也逐步增加了屏幕显示…

未来已来:解锁AGI的无限潜能与挑战

未来已来&#xff1a;解锁AGI的无限潜能与挑战 引言 假设你有一天醒来&#xff0c;发现你的智能手机不仅提醒你今天的日程&#xff0c;还把你昨晚做的那个奇怪的梦解释了一番&#xff0c;并建议你可能需要减少咖啡摄入量——这不是科幻电影的情节&#xff0c;而是人工通用智能…

c++补充

构造函数、析构函数 #include <iostream> using namespace std;// 构造函数、析构函数 // --- "构造函数"类比生活中的"出厂设置" --- // --- "析构函数"类比生活中的"销毁设置" --- // 如果我们不写这两种函数&#xff0c;编译…

云计算时代:SFP、SFP+、SFP28、QSFP+和QSFP28光纤模块详解

随着数据中心的快速发展和云计算的广泛应用&#xff0c;高速、高效率的光纤网络传输成为关键需求。在众多光纤模块中&#xff0c;SFP、SFP、SFP28、QSFP和QSFP28是最常见的几种类型。本文将为您详细解析这几种光纤模块之间的区别&#xff0c;帮助您更好地了解和选择适合自己需求…

安装crossover游戏提示容量不足怎么办 如何把游戏放到外置硬盘里 Mac电脑清理磁盘空间不足

CrossOver作为一款允许用户在非原生操作系统上运行游戏和应用程序的软件&#xff0c;为不同平台的用户提供了极大的便利。然而&#xff0c;随着游戏文件大小的不断增加&#xff0c;内置硬盘的容量往往无法满足安装需求。幸运的是&#xff0c;通过一些简单的步骤&#xff0c;我们…

【深度学习】神经网络中的激活函数:释放非线性的力量

神经网络中的激活函数&#xff1a;释放非线性的力量 一、激活函数的原理与作用二、激活函数的实例与代码实现三、激活函数的热点应用四、结语 在人工智能的浪潮中&#xff0c;人工神经网络&#xff08;ANN&#xff09;以其强大的学习和拟合能力&#xff0c;日益成为解决复杂问题…

pytest-xdist:远程多主机 - 分布式运行自动化测试

简介&#xff1a;pytest-xdist插件使用新的测试执行模式扩展了pytest&#xff0c;最常用的是在多个CPU之间分发测试以加快测试执行&#xff0c;即 pytest -n auto同时也是一个非常优秀的分布式测试插件&#xff0c;分别支持ssh和socket两种方式实现master和worker的远程通讯。…