当前位置: 首页 > 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;     			/*清空计数器*/
}
http://www.lryc.cn/news/500450.html

相关文章:

  • 工作随笔2024,12.9
  • 【PGCCC】 pg_query 6.0:使用 Postgres 自己的解析器解析、反解析和规范化 SQL 查询的 Ruby 库
  • 18.Vue 3 + OpenLayers:实现添加全屏显示功能示例
  • 04_掌握Python基础语句
  • iOS如何自定义一个类似UITextView的本文编辑View
  • 【时时三省】(NIT计算机考试)Word的使用方法
  • openjdk17 jvm加载class文件,解析字段和方法,C++源码展示
  • 驱动断链的研究
  • 在 Windows WSL 上部署 Ollama 和大语言模型:从镜像冗余问题看 Docker 最佳实践20241208
  • 做题时HashSet、TreeSet、LinkedHashSet的选择
  • Manus手套动作捕捉AI训练灵巧手
  • 嵌入式驱动开发详解4(内核定时器)
  • Linux:信号的预备和产生
  • 国城杯2024——Curve
  • AI生成不了复杂前端页面?也许有解决方案了
  • 常见矩阵分析法(BCG、GE、IE、SPACE、TOWS、优先、战略优先级、安索夫、风险矩阵):如何通过系统化方法助力战略决策与数据驱动决策
  • JWT 在 SaaS 系统中的作用与分布式 SaaS 系统设计的最佳实践
  • 基于C#和Sql Server的网上书店管理系统
  • 特高频局放装置在现代配电设施中的应用
  • FSC认证是什么?FSC认证费用
  • JAVA数据结构
  • mysql8 主从复制一直失败
  • EDA - Spring Boot构建基于事件驱动的消息系统
  • 使用vue-seamless-scroll实现echarts图表大屏滚动,出现空白间隔的解决方案
  • ios使用UIScrollView和PageControl创建图片轮播
  • 3D 生成重建024-LGM第一个开源的3D生成大模型!
  • linux目录权限
  • 语言模型使用心得
  • ChatGPT客户端安装教程(附下载链接)
  • Electron 基础+传值+引用+安全