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

stm32延时

1.

void delay_config(void)
{SysTick->CTRL |= SysTick_CTRL_CLKSOURCE_Msk;		//时钟源为系统时钟168MHzSysTick->LOAD = 167;					//重载值为168-1,每1us溢出一次
}void delay_ms(u32 nTime)
{nTime *= 1000;SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;		//使能SysTick,开始计数while(nTime--){while((SysTick->CTRL&0X010000) == 0);		//等待COUNTFLAG标志位置1}SysTick->CTRL &= (~SysTick_CTRL_ENABLE_Msk);		//失能SysTick,停止计数
}void delay_us(u32 nTime)
{SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;while(nTime--){while((SysTick->CTRL&0X010000) == 0);}SysTick->CTRL &= (~SysTick_CTRL_ENABLE_Msk);
}

2.

static u8  fac_us=0;	
static u16 fac_ms=0;			void systick_init (u8 sysclk)
{SysTick->CTRL&=0xfffffffb;	/*bit2清空,选择外部时钟  HCLK/8*/fac_us=sysclk/8;		    fac_ms=(u16)fac_us*1000;
}					void delay_ms( uint32 time_ms )
{	 		  	  u32 temp;		   SysTick->LOAD=(u32)time_ms*fac_ms;	/*时间加载(SysTick->LOAD为24bit)*/SysTick->VAL =0x00;           		/*清空计数器*/SysTick->CTRL=0x01 ;         		/*开始倒数*/ do{temp=SysTick->CTRL;}while(temp&0x01&&!(temp&(1<<16)));	/*等待时间到达*/SysTick->CTRL=0x00;      			/*关闭计数器*/SysTick->VAL =0X00;     		    /*清空计数器*/	  	    
}   void delay_us( uint32 time_us )
{		u32 temp;	    	 SysTick->LOAD=time_us*fac_us; 		/*时间加载*/	  		 SysTick->VAL=0x00;       			/*清空计数器*/SysTick->CTRL=0x01 ;      		    /*开始倒数 */	 do{temp=SysTick->CTRL;}while(temp&0x01&&!(temp&(1<<16))); 	/*等待时间到达*/SysTick->CTRL=0x00;     			/*关闭计数器*/SysTick->VAL =0X00;     			/*清空计数器*/
}

相关文章:

stm32延时

1. void delay_config(void) {SysTick->CTRL | SysTick_CTRL_CLKSOURCE_Msk; //时钟源为系统时钟168MHzSysTick->LOAD 167; //重载值为168-1&#xff0c;每1us溢出一次 }void delay_ms(u32 nTime) {nTime * 1000;SysTick->CTRL | SysTick_CTRL_ENABLE_Msk; //…...

工作随笔2024,12.9

1.关于connect重复连接&#xff0c;会导致当该信号发出时槽函数会执行对应的次数&#xff0c;所以在添 加init相关名称的函数要查看内部是否有connect,是否会造成重复连接&#xff0e; 2. 建议如果是唯一一个连接的&#xff0c;可以使用uni Que connection这个属性 3. 有关事…...

【PGCCC】 pg_query 6.0:使用 Postgres 自己的解析器解析、反解析和规范化 SQL 查询的 Ruby 库

pg_query 这个 Ruby 扩展使用实际的 PostgreSQL 服务器源来解析 SQL 查询并返回内部 PostgreSQL 解析树。 此外&#xff0c;该扩展允许您规范化查询&#xff08;用 $n 替换常量值&#xff09;并将这些规范化的查询再次解析为解析树。 当您构建此扩展时&#xff0c;它会构建 …...

18.Vue 3 + OpenLayers:实现添加全屏显示功能示例

前言 在地图应用中&#xff0c;全屏显示功能可以为用户提供更好的视觉体验和交互感受。本文将带大家实现一个基于 Vue 3 和 OpenLayers 的全屏显示地图功能&#xff0c;适合初学者或开发者快速上手。 项目准备 1. 项目搭建 如果尚未创建 Vue 3 项目&#xff0c;可以通过以下…...

04_掌握Python基础语句

学习完本篇内容,你将掌握以下技能: 掌握 Python 中的基础类型,包括整数、浮点数、布尔值、字符串等。掌握 Python 中的运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符等。掌握 Python 中的语句,包括赋值语句、选择语句、循环语句等。掌握 Python 中的控制流语句…...

iOS如何自定义一个类似UITextView的本文编辑View

对于IOS涉及文本输入常用的两个View是UITextView和UITextField&#xff0c;一个用于复杂文本输入&#xff0c;一个用于简单文本输入&#xff0c;在大多数开发中涉及文本输入的场景使用这两个View能够满足需求。但是对于富文本编辑相关的开发&#xff0c;这两个View就无法满足自…...

【时时三省】(NIT计算机考试)Word的使用方法

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 一、软件简介 Microsoft Word&#xff0c;简称Word&#xff0c;是微软公司开发的一款文字处理软件&#xff0c;广泛应用于文档编辑、排版、打印等领域。无论是撰写论文、报告、简历&#xf…...

openjdk17 jvm加载class文件,解析字段和方法,C++源码展示

##构造方法ClassFileParser&#xff0c;parse_stream解析文件流 ClassFileParser::ClassFileParser(ClassFileStream* stream,Symbol* name,ClassLoaderData* loader_data,const ClassLoadInfo* cl_info,Publicity pub_level,TRAPS) :_stream(stream),_class_name(NULL),_load…...

驱动断链的研究

准备 source insight 从现在开始我们正式进入内核编程&#xff0c;但是很多内核里面的结构和类型是需要我们额外声明的&#xff0c;我们就需要一个工具来快速的阅读WIn内核源码。这里我贴出我所参考的博客 羽夏看Win系统内核——SourceInsight 配置 WRK - 寂静的羽夏 - 博客…...

在 Windows WSL 上部署 Ollama 和大语言模型:从镜像冗余问题看 Docker 最佳实践20241208

&#x1f6e0;️ 在 Windows WSL 上部署 Ollama 和大语言模型&#xff1a;从镜像冗余问题看 Docker 最佳实践 ⭐ 引言 随着大语言模型&#xff08;LLM&#xff09;和人工智能技术的迅猛发展&#xff0c;开发者们越来越多地尝试在本地环境中部署模型进行实验。 但部署过程中常…...

做题时HashSet、TreeSet、LinkedHashSet的选择

一、HashSet 此类实现 Set 接口&#xff0c;由哈希表&#xff08;实际上是一个 HashMap 实例&#xff09;支持。它不保证 set 的迭代顺序&#xff1b;特别是它不保证该顺序恒久不变。 代码&#xff1a; import java.util.HashSet; import java.util.LinkedHashSet; import ja…...

Manus手套动作捕捉AI训练灵巧手

随着人工智能&#xff08;AI&#xff09;和机器人技术的融合日益紧密&#xff0c;使用真实动作数据AI扩容训练机器人的方式正在被用于开发更富表现力的机器人。Manus手套凭借精准的动作捕捉技术和导出数据的强大兼容性&#xff0c;在灵巧手的研发和应用中发挥了重要作用。 手部…...

嵌入式驱动开发详解4(内核定时器)

文章目录 前言通用定时器系统节拍节拍数与时间转换基本框架定时器使用代码展示通用定时器特点 高精度定时器 前言 LInux内核定时器是一种基于未来时间点的计时方式&#xff0c;以当前时刻来启动的时间点&#xff0c;以未来的某一时刻为终止点。比如&#xff0c;现在是10点5分&…...

Linux:信号的预备和产生

引入&#xff1a; 比如当前快递小哥需要通知你下来取快递&#xff08;产生信号&#xff09;&#xff0c;然后通过电话或短信告知了你&#xff08;发送信号&#xff09;&#xff0c;但是当前你正在打游戏&#xff0c;所以你并不会马上去处理&#xff0c;但是你会记得这件事&…...

国城杯2024——Curve

相关知识链接&#xff1a;https://tangcuxiaojikuai.xyz/post/187210a7.html #sagemath from Crypto.Util.number import *def add(P, Q):(x1, y1) P(x2, y2) Qx3 (x1*y2 y1*x2) * inverse(1 d*x1*x2*y1*y2, p) % py3 (y1*y2 - a*x1*x2) * inverse(1 - d*x1*x2*y1*y2, p…...

AI生成不了复杂前端页面?也许有解决方案了

在2024年&#xff0c;编程成为了人工智能领域最热门的赛道。AI编程技术正以惊人的速度进步&#xff0c;但在生成前端页面方面&#xff0c;AI的能力还是饱受质疑。自从ScriptEcho平台上线以来&#xff0c;我们收到了不少用户的反馈&#xff0c;他们表示&#xff1a;“生成的页面…...

常见矩阵分析法(BCG、GE、IE、SPACE、TOWS、优先、战略优先级、安索夫、风险矩阵):如何通过系统化方法助力战略决策与数据驱动决策

在快速变化的商业环境中&#xff0c;企业决策者面临着诸多复杂的选择与挑战。矩阵分析法作为战略分析的重要工具&#xff0c;能够系统化地分析企业的内外部环境&#xff0c;帮助管理层做出更加科学、合理的决策。本文将全面解析常见的矩阵分析法&#xff0c;并探讨它们在数据驱…...

JWT 在 SaaS 系统中的作用与分布式 SaaS 系统设计的最佳实践

在现代 SaaS&#xff08;软件即服务&#xff09; 系统中&#xff0c;随着服务规模的扩大和用户需求的多样化&#xff0c;如何高效、安全地进行用户身份验证、权限控制以及租户隔离&#xff0c;成为了系统架构中的核心问题之一。**JWT&#xff08;JSON Web Token&#xff09;**作…...

基于C#和Sql Server的网上书店管理系统

基于C#和Sql Server的网上书店管理系统 摘要 本系统是建立在 Windows 平台上&#xff0c;基于 B/S 结构的一个网上书店。通过这个网上书店&#xff0c;可以实 现简单的电子商务功能。 整个网站风格一致&#xff0c;较为美观&#xff0c;有完善的导航机制。普通用户从前台首页…...

特高频局放装置在现代配电设施中的应用

引言 随着电力系统的快速发展&#xff0c;尤其是现代配电系统的不断升和智能化&#xff0c;配电网的安全、稳定和运行变得愈发重要。为了确保电力系统能够及时应对各种运行问题&#xff0c;并提高故障诊断和监控的能力&#xff0c;现代配电系统中的监测技术也不断得到创新与提…...

FSC认证是什么?FSC认证费用

FSC认证是指森林管理委员会&#xff08;Forest Stewardship Council&#xff09;颁发的一种认证&#xff0c;以下是对FSC认证的详细介绍&#xff1a; 一、FSC认证的定义与目的 FSC认证标志着一件产品来自经过环境友好、社会有益和经济可行的可持续管理的森林。FSC是一个独立的…...

JAVA数据结构

1.数组 (Array): 固定大小的容器,用于存储相同类型的元素,数组在内存中是连续存储的,支持通过索引快 速访问元素。 int[] numbers = new int[10]; numbers[0] = 1;2.Java Collections Framework (JCF) JCF提供了一组接口和类用于管理和操作集合(如列表,集合,…...

mysql8 主从复制一直失败

问题描述&#xff1a; 开启同步后从服务器一直失败&#xff0c;报错如下&#xff1a; Last_SQL_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction ANONYMOUS at source log …...

EDA - Spring Boot构建基于事件驱动的消息系统

文章目录 概述事件驱动架构的基本概念工程结构Code创建事件和事件处理器创建事件总线创建消息通道和发送逻辑创建事件处理器消息持久化创建消息发送事件配置 Spring Boot 启动类测试运行项目 概述 在微服务架构和大规模分布式系统中&#xff0c;事件驱动架构&#xff08;EDA&a…...

使用vue-seamless-scroll实现echarts图表大屏滚动,出现空白间隔的解决方案

一、背景介绍 最近的业务开发需求&#xff0c;想要实现echarts图表大屏滚动&#xff0c;小编首先采用vue-seamless-scroll进行实现&#xff0c;结果发现第二屏出现空白间隔&#xff0c;尝试了多种解决方案均不生效&#xff0c;最终选择换一个方案。 二、封装的ScrollList组件…...

ios使用UIScrollView和PageControl创建图片轮播

1.创建cocoa touch class 2.同时创建xib页面 3.SceneDelegate设置根视图控制器 // // SceneDelegate.m // iosstudy2024 // // Created by figo on 2024/8/5. //#import "SceneDelegate.h" #import "WidgetViewController.h"interface SceneDelegate …...

3D 生成重建024-LGM第一个开源的3D生成大模型!

3D 生成重建024-LGM第一个开源的3D生成大模型 文章目录 0 论文工作1 论文方法2 实验效果 0 论文工作 这篇论文介绍了一种名为LGM&#xff08;大型多视角高斯模型&#xff09;的新方法&#xff0c;用于从单视角图像或文本提示生成高分辨率的三维内容。该方法的核心思想是双重的…...

linux目录权限

一、目录权限的基本概念 Linux中的每个文件和目录都有与之关联的权限&#xff0c;这些权限决定了谁可以读取、写入或执行它们。权限分为三组&#xff1a; 所有者&#xff08;Owner&#xff09;权限&#xff1a;目录所有者的权限群组&#xff08;Group&#xff09;权限&#x…...

语言模型使用心得

使用像文心一言这样的语言模型&#xff0c;在撰写文章时确实能提供极大的帮助。然而&#xff0c;重要的是我们要明确主次关系&#xff1a;自己的创意和内容应当是文章的核心&#xff0c;而语言模型则扮演着一个辅助角色&#xff0c;帮助我们梳理思路&#xff0c;使文章条理更加…...

ChatGPT客户端安装教程(附下载链接)

用惯了各类AI的我们发现每天打开网页还挺不习惯和麻烦&#xff0c;突然发现客户端上架了&#xff0c;懂摸鱼的人都知道这里面的道行有多深&#xff0c;话不多说&#xff0c;开整&#xff01; 以下是ChatGPT客户端的详细安装教程&#xff0c;适用于Windows和Mac系统&#xff1a…...