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

STM32完全学习——使用定时器1精确延时

一、定时器的相关配置

首先一定要是递减定时器,递增的不太行,控制的不够准确,其次在大于10微秒的延时是非常准确的,小于的话,就没有那没准,但是凑合能用。误差都在一个微秒以内。使用高级定时器也就是时钟频率高的定时器,是比较好用的。

二、延时函数的实现

这里使用阻塞的方式实现,定时范围就是3120个微秒。

void delay_us(uint32_t us)
{HAL_TIM_Base_Start(&htim1);__HAL_TIM_SET_COUNTER(&htim1, us*21);   //动态更改计数器里面的值while (__HAL_TIM_GET_COUNTER(&htim1) != 0)  //判断计数器里面的值是否计时结束{                                           //因为是递减计数器,因此以0作为判断}HAL_TIM_Base_Stop(&htim1);   //计时结束就关掉定时器}

相关文章:

STM32完全学习——使用定时器1精确延时

一、定时器的相关配置 首先一定要是递减定时器,递增的不太行,控制的不够准确,其次在大于10微秒的延时是非常准确的,小于的话,就没有那没准,但是凑合能用。误差都在一个微秒以内。使用高级定时器也就是时钟…...

深度学习——损失函数汇总

1. 连续值损失函数 总结:主要使用胡贝儿损失函数,应用于连续数值的预测之间的误差损失,参考地址 import torch import torch.nn as nna = torch.tensor([[1, 2], [3, 4]], dtype=torch.float) b = torch.tensor([[3, 5], [8, 6]], dtype=torch.float)loss_fn1 = torch.nn.M…...

1、单片机寄存器-io输入实验笔记

1、硬件 时钟总线如下: PB端口挂载在AHB1总线上,因此要对该位进行使能。 引脚 LED0和LED1挂载在PB0和PB1上:推挽输出、100M、 上拉默认高电平,低电平点亮。 2、软件 位带操作 #ifndef _IO_BIT_H_ #define _IO_BIT_H_#define …...

记忆旅游系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...

CentOS7下的 OpenSSH 服务器和客户端

目录 1. 在 IP 地址为 192.168.98.11 的 Linux 主机上安装 OpenSSH 服务器; 2. 激活 OpenSSH 服务,并设置开机启动; 3. 在 IP 地址为 192.168.98.22 的 Linux 主机上安装 OpenSSH 客户端,使用客户端命令(ssh、 scp、…...

RabbitMQ基础篇之Java客户端 Topic交换机

文章目录 Topic 交换机概述 Routing Key 与 Binding Key优缺点及场景优点缺点应用场景 案例演示创建队列和交换机:消费者代码:消息发送代码:测试: 总结 Topic 交换机概述 路由机制: Topic交换机与Direct交换机类似&am…...

微服务-Sentinel新手入门指南

微服务为什么要使用流控降级组件 为了提高系统运行期间的稳定性和可用性 在微服务环境下,服务之间存在复杂的调用关系,单个服务的故障或过载可能会迅速影响到整个系统,导致服务雪崩效应。流控组件可以限制进入系统的流量,防止系…...

传统听写与大模型听写比对

在快节奏的现代生活中,听写技能仍然是学习语言和提升认知能力的重要环节。然而,传统的听写练习往往枯燥乏味,且效率不高。现在,随着人工智能技术的发展,大模型听写工具的问世,为传统听写带来了革命性的变革…...

http性能测试命令ab

华子目录 使用方法常用选项示例输出解读注意事项 在 Linux系统中, ab( ApacheBench)是一个用于 测试HTTP服务器性能的 工具。它是 Apache HTTP服务器项目的 一部分,专门设计用来模拟 多个用户对 服务器发起 并发请求&am…...

前端:轮播图常见的几种实现方式

目录 前言 一、轮播图是什么? 二、实现方法 1.使用纯 HTML、CSS、JavaScript 实现 2.使用组件来快速实现 总结 前言 在学习前端的过程中,总是有要实现轮播图效果的时候,本文就介绍了轮播图常见的几种实现方式。 一、轮播图是什么&#xff1f…...

Pytest基础01: 入门demo脚本

目录 1 Pytest接口测试 1.1 最简单版hello world 1.2 pytest.ini 2 pytest兼容unittest 3 封装pytest执行入口 1 Pytest接口测试 Pyest是一个可以用于接口测试的强大框架,开源社区也有非常多的pytest插件。 按江湖传统,学习一个新语言或者新框架&…...

ruoyi 多租户 开启后针对某一条sql不适用多租户; 若依多租户sql规则修改

文章参考:多租户功能 | Ruoyi-TDesign 忽略租户​ 1.如果需要指定单独 SQL 不开启过滤,可在对应的 Mapper 接口添加如下忽略注解: InterceptorIgnore(tenantLine "true", dataPermission "false") 此处注意事项 使…...

driftingblues6靶机

打开靶场 查看页面源代码,最下面有一个注释,提供了一个网址 vmlist.github.io,我们去访问一下 这里是一个github页面,提供攻防虚拟机的下载,对我们解题并没有什么有用的信息,我们再去扫描端口 发现只有80端…...

Neo4j GDS 2.0 安装与配置

Neo4j GDS 2.0 安装与配置 GDS插件安装:Neo4j官方文档 1. GDS简介 Neo4j Graph Data Science (GDS) 库作为 Neo4j Graph Database 的插件提供。该插件需要安装到数据库中并在 Neo4j 配置中列入白名单。有两种主要方法可以实现这一点,我们将在本章中详…...

A*算法与人工势场法结合的路径规划(附MATLAB源码)

A*算法与人工势场法(APF)结合实现路径规划 路径规划是机器人、无人机及自动驾驶等领域中的一个重要问题。本文结合了经典的 A* 算法与 人工势场法(Artificial Potential Field, APF),实现了一种改进的路径规划方法。下…...

BootstrapTable处理表格

需求背景 历史项目使用 BootstrapTable 作为前端组件 应客户需要调整&#xff1a; 冻结前四列对于大文本文字显示部分内容&#xff0c;鼠标悬浮显示完整内容 冻结列 1、引入相关CSS,JS CSS <link rel"stylesheet" href"/css/bootstrap.min.css"> …...

UniApp 打开文件工具,获取文件类型,判断文件类型

注意&#xff1a;以下代码使用 typeScript 开发&#xff0c;如果想在 js 中使用&#xff0c;可参考 npm 已经发布的包&#xff1a;https://www.npmjs.com/package/uni-easy-file NPM 使用 如果想直接在 npm 项目中使用可以直接执行以下命令 npm i uni-easy-file然后直接使用 …...

docker-开源nocodb,使用已有数据库

使用已有数据库 创建本地数据库 数据库&#xff1a;nocodb 用户&#xff1a;nocodb 密码&#xff1a;xxxxxx修改docker-compose.yml 默认网关的 IP 地址是 172.17.0.1&#xff08;适用于 bridge 网络模式&#xff09;version: "2.1" services:nocodb:environment:…...

Mysql COUNT() 函数详解

简介 COUNT()函数定义 COUNT()函数是SQL中常用的 聚合函数 &#xff0c;用于统计满足特定条件的记录数。它可以灵活地应用于各种查询场景&#xff0c;帮助用户快速获取所需的数据统计信息。该函数不仅能够计算所有行的数量&#xff0c;还能针对特定列进行计数&#xff0c;并支…...

单周期CPU电路设计

1.实验目的 本实验旨在让学生通过设计一个简单的单周期 CPU 电路&#xff0c;深入理解 RISC-V 指令集的子集功能实现&#xff0c;掌握数字电路设计与实现的基本流程&#xff0c;包括指令解析、部件组合、电路设计以及功能仿真等环节&#xff0c;同时培养verilog HDL编程能力和…...

昇思大模型预训练数据来源

昇思 MindSpore 大模型&#xff08;如鹏程・盘古、Qwen、Skywork 等&#xff09;的预训练数据以中文为核心、多源异构融合、高质量过滤为特点&#xff0c;依托开源数据、互联网爬虫、电子书与领域数据构建&#xff0c;经分布式清洗、去重、过滤后形成百亿至千亿级 Token 的训练…...

D2DX:终极解决方案!让经典《暗黑破坏神2》在现代PC上焕发新生

D2DX&#xff1a;终极解决方案&#xff01;让经典《暗黑破坏神2》在现代PC上焕发新生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d…...

别再乱设了!Design Compiler里set_input_delay的10个实战避坑点(附时序报告解读)

别再乱设了&#xff01;Design Compiler里set_input_delay的10个实战避坑点&#xff08;附时序报告解读&#xff09; 在数字IC前端设计流程中&#xff0c;时序约束的准确性直接影响综合结果的质量。作为Synopsys Design Compiler&#xff08;DC&#xff09;的核心约束命令之一&…...

单片机代码优化实战:从数据类型到算法与数据结构的效率提升

1. 项目概述&#xff1a;为什么单片机代码需要“斤斤计较”&#xff1f;如果你是从PC端或者服务器端开发转过来的朋友&#xff0c;第一次接触单片机编程&#xff0c;可能会觉得处处掣肘。在PC上&#xff0c;我们习惯了动辄几个G的内存&#xff0c;上百G的硬盘&#xff0c;CPU频…...

PADS VX2.7 光绘文件实战:从CAM配置到Gerber输出的全链路解析

1. PADS VX2.7光绘文件生成的核心逻辑 第一次用PADS VX2.7输出Gerber文件时&#xff0c;我被它和其他EDA软件的区别惊到了。不像某些软件一键导出所有层&#xff0c;PADS需要像搭积木一样逐层配置&#xff0c;这种看似繁琐的设计其实暗藏玄机——它让工程师对每层光绘文件的生成…...

如何快速解锁WeMod高级功能:面向游戏玩家的完整免费方案

如何快速解锁WeMod高级功能&#xff1a;面向游戏玩家的完整免费方案 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 你是否为WeMod免费版的诸多限制感到…...

CMOS概率计算芯片设计与工程实践

1. CMOS概率计算芯片的核心设计理念概率计算作为一种新兴的计算范式&#xff0c;正在突破传统冯诺依曼架构的局限。我们团队开发的这款440节点CMOS芯片&#xff0c;其核心创新点在于将物理启发的随机性与标准CMOS工艺完美结合。不同于传统计算机的确定性计算方式&#xff0c;每…...

B站视频转文字:3分钟掌握高效内容整理新技能

B站视频转文字&#xff1a;3分钟掌握高效内容整理新技能 【免费下载链接】bili2text Bilibili视频转文字&#xff0c;一步到位&#xff0c;输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 还在为整理B站视频内容而烦恼吗&#xff1f;每天花费…...

Linux Idle 调度器的 cpuidle_reflect:Idle 状态统计更新

简介 在 Linux 内核电源管理与调度体系中&#xff0c;CPU Idle&#xff08;空闲&#xff09;调度器是实现 CPU 低功耗管理的核心模块&#xff0c;负责在 CPU 无任务可调度时&#xff0c;选择并进入合适的硬件空闲状态&#xff08;C-state&#xff09;&#xff0c;在性能与功耗…...

ROS2进阶实践 -- 从零构建模块化差速机器人模型 -- 掌握xacro宏定义与参数化设计

1. 为什么需要xacro宏定义与参数化设计 当你第一次用URDF给机器人建模时&#xff0c;可能会觉得这种XML格式的描述方式很直观。但随着模型复杂度提升&#xff0c;问题就来了——我最近给一个差速机器人添加传感器时&#xff0c;发现URDF文件膨胀到了500多行&#xff0c;其中光是…...