首页 > 其他分享 >STM32 HAL库关于延时函数

STM32 HAL库关于延时函数

时间:2023-06-29 18:45:22浏览次数:46  
标签:HAL 延时 STM32 startTime now 等待

1堵塞式延时

用这种程序会一直等待不能做其它工作,优点是实现简单,适用于断时的单任务等待。

HAL_Delay(1000); //延时1000ms

2 非堵塞式等待

借用系统的开机时间,可以边等待边完成其它任务,不占用CPU,比较推荐这种方式。

 1 uint32_t startTime,now;
 2 
 3 startTime= HAL_GetTick();
 4 
 5 while{//循环开始
 6     now= HAL_GetTick();
 7 
 8     if((now-startTime)>1000)//等待时间到
 9     {
10         break;//跳出循环
11     }else
12     {
13        处理其它短时任务
14     }
15 }//循环结束        

 

 

————————————————
版权声明:本文为CSDN博主「leoFY123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/leoFY123/article/details/122862277

标签:HAL,延时,STM32,startTime,now,等待
From: https://www.cnblogs.com/FBsharl/p/17514965.html

相关文章

  • stm32 IAP升级 OTA升级 野外设备远程升级 自建FTP服务器升级 多App备份 切换,防变砖
    stm32IAP升级OTA升级野外设备远程升级自建FTP服务器升级 多App备份切换,防变砖芯片stm32f103系列4G模块EC200T程序简介:一个bootloader程序 多个主程序程序可相互切换主程序A出厂前烧录,永不更改,用于升级失败后,做应急程序使用,保障单片机不变砖主程序B日常运行,可升级......
  • vulnhub靶场:Thales
    靶场地址:泰雷兹:1~VulnHubkali:172.88.6.144靶场:172.88.6.81 nmap172.88.6.0/24 nmap-T4-sV-P -A172.88.6.81 访问http://172.88.6.81:8080/,发现是tomcat页面,登录需要账户,所以使用msf爆破下 msfconsolesearchtomcat  useauxiliary/scanner/http/t......
  • RT-Thread 正点原子阿波罗STM32F429IGT6-软件IIC控制I/O扩展模块PCF8574T(踩坑)
    第一步:在RT-ThreadSettings中打开I2C设备驱动,Ctrl+S保存 第二步:在drivers->board.h中进行配置,取消BSP_USING_I2C2的注释,并根据说明定义好引脚; 第三步:对引脚进行初始化,这里可使用CubeMX进行生成; 第四步:根据设备名查找设备 第五步:调用 rt_i2c_transfer 发......
  • STM32 USART1 改成 UART4 出现问题
    STM32USART1改成UART4出现问题群里面叫了半天,野火胸也不出来,那么久没有办法了,我自己发个帖子解决下问了一下度娘,网上有很多关于stm32uart4的问题,有时进不去串口中断的,有发送乱码的,那么我就在这里总结一下首先我们看一下文档我用的stm32f103vet6的,所以USART是模式是3+2,......
  • system halt during installation with NV graphics card.
    Icheck,itseemsitisstuckat"GETubiquity/install_oem".Canyoucheck/var/cache/debconf/config.dat,iftheubiquity/install_oemvalueisTrue.itisin/usr/share/ubiquity/simple-pluginsscript,itsetthedbtotrueandgetitdirectlyin......
  • 【FreeRTOS复盘】3-FreeRTOS系统的时钟节拍和延时函数
    参考文章1:《FreeRTOS的学习(六)——系统时钟》参考文章2:【FreeRTOS】04系统的时钟节拍和延时函数 原理reeRTOS使用裸机自带的滴答定时器中断,使用其主频或者外部频率作为时钟基准。由于定时器的功能作为FreeRTOS的核心,所以正常情况下必须是一个一直运行着的中断,那么就意味着Fre......
  • 为什么 Keil 中C/C++选项要 define STM32F10X_LD/MD/HD
    原因1:配置相应的中断向量表 原因2:配置相应的寄存器  总结原因:因为所有的stm32f10x 系列的芯片都会用到stm32f10x.h 这个头文件,但是问题的所在是:每种芯片的配置不同(中断向量个数、寄存器个数等等)因此宏条件编译#if!defined 判断这个宏(这个宏就是STM32F10X_LD......
  • 基于STM32单片机的差分升级和增量升级算法源码,这些源码可以在不同平台上进行移植
    基于STM32单片机的差分升级和增量升级算法源码,这些源码可以在不同平台上进行移植。此外,IAP升级和OTA升级技术,这些技术在物联网和车联网领域中得到广泛应用。原创文章,转载请说明出处,资料来源:http://imgcs.cn/5c/653978935134.html提取的知识点和领域范围:1.单片机(STM32):单片机是一......
  • FreeRTOS在STM32中是如何使用内存的
    转载自:《FeeRTOS在STM32中是如何使用内存的》没有FreeRTOS的时候:STM32资源的分配: 有FreeRTOS后(注意FreeRTOS的任务栈空间位于FreeRTOS的堆之中): STM32无OS编程Stack_Size和Heap_Size大小设置的意义其中STACK_SIZE和HEAP_SIZE在STM32的启动文件startup_stm32fxx.s......
  • stm32 基于HAL工程硬件I2C读取PCF8563
    参考链接:https://download.csdn.net/download/xqw19891201/11267260  #include"stm32xxxx.h"#include"stm32xxxx_hal.h"#definePCF8563_ADDRESS0xA2//PCF8563的I2C地址I2C_HandleTypeDefhi2c;//I2C句柄//从PCF8563读取一个字节uint8_tPCF8563_ReadByte(......