已有的HAL_Delay()

__weak void HAL_Delay(__IO uint32_t Delay)
{uint32_t tickstart = 0U;tickstart = HAL_GetTick();while((HAL_GetTick() - tickstart) < Delay){}
}

上面为ms级延时函数

现在我们要实现的是us级延时函数

void HAL_Delay_us(uint32_t nus)
{
//将systic设置为1us中断
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000000);
//延时nus
HAL_Delay(nus-1);
//恢复systic中断为1ms
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
}

HAL库-us级延时函数实现相关推荐

  1. hal库实现us延时

    用hal库实现us延时一般有两种做法,一种是用定时器,一种是用系统自带的滴答计数器 本文章主要介绍用系统自带的滴答计数器来实现延时 1.实现函数 void HAL_Delay_us(uint32_t ...

  2. STM32使用HAL库,整体结构和函数原理介绍

    按照杨桃电子的说法,学习编程程序就是学习使用外设,然后需要在icode文件夹中创建对应的.c和.h文件,分三步来操作: 1.学会编写板级驱动程序 2.学会在板级驱动程序中调用HAL库中的功能函数 3. ...

  3. 20140627-STM8L101F3P6关于微秒级延时函数不同写法的波形

    总结一下STM8L101F3P6工作在16MHz下,利用死循环.中断等不同写法的微秒级延时函数精度的情况. 一.死循环空指令的写法,延时函数程序如下: /*********************** ...

  4. 20140627-STM8L101F3P6关于毫秒级延时函数不同写法的波形

    总结一下STM8L101F3P6工作在16MHz下,利用死循环.中断等不同写法的微秒级延时函数精度的情况. 一.死循环空指令的写法,延时函数程序如下: /*********************** ...

  5. ms和us级延时函数的实现

    ms和us级延时函数的实现 2020 Sept. 8th 用sysTick实现延时 寄存器说明参考火哥(膜拜)的这篇博客:第18章 SysTick-系统定时器 用中断输出: //调用core_cmX. ...

  6. stm32延时us寄存器_自己写一个STM32 HAL库的US微秒延时函数

    当本菜鸟开始接触STM32的时候还是看了原子哥的寄存器教程才跳坑的. 现在ST已经把HAL库推向了主流,但是令我不解的是,HAL那么强大,居然没有一个微秒级别的延时函数?! 黑人问号脸. 好了,废话不 ...

  7. 一、STM32用HAL库实现uS级延时

    一.应用场景 STM32CubeMX可视化初始化配置,结合 HAL 库,给STM32软件开发提高了效率,但 HAL 库封装的延时函数目前仅支持 mS 级别的延时,日常很多情况下会用到 uS延时,比如I ...

  8. STM32 使用HAL库实现微秒级长延时

    STM32 使用HAL库实现微秒级长延时 背景 定时器初始化 主程序中的设计 背景 STM32 HAL库中有一个延时函数HAL_Delay(),可以实现毫秒级的延时,能够满足一般延时需求.在有些场合下 ...

  9. HAL 库 uS 延时的 3 种实现方式

    CUBEMX 可视化初始化配置,结合 HAL 库,给我们开发带来了很多便利,但 HAL 库封装的延时函数目前仅支持 ms 级别的延时,日常很多情况下会用到 us 延时,特别是一些传感器的数据读取过程, ...

最新文章

  1. Node.js和NoSQL开发比特币加密货币应用程序(下)
  2. Mysql INSERT INTO .. ON DUPLICATE KEY更新多行记录
  3. 谈谈如何学习Linux操作系统?
  4. Java连接Redis及操作(二)
  5. python elasticsearch timeout_Python操作Elasticsearch处理timeout超时
  6. javaEE jdbc编程步骤
  7. 获取计算机内存镜像文件,计算机取证中的内存镜像获取的研究与实现
  8. 【C语言】无参函数调用实例
  9. (29)FPGA面试题时序电路延时
  10. 海思3559AV100上运行自己训练的yolov3
  11. zTree模糊搜索(子级和父级都不匹配时隐藏节点)
  12. opencv打开双目,采集标定双目的图片
  13. matlab实现插值
  14. python画三维投影图_python之画三维图像
  15. android写代码截屏微信,微信等头像截取的实现 - 拉风的道长_Android之路 - OSCHINA - 中文开源技术交流社区...
  16. 解决打印机“正在删除、正在打印”没反应问题
  17. A的伴随矩阵的伴随矩阵
  18. Salesforce邮件发进垃圾邮箱或未收到SF邮件处理方式 (DKIM - New CNAME Version)
  19. oracle获取上一个月或者下一个月或者多少个月
  20. 正则表达式动态替换url参数

热门文章

  1. 计算机辅助建筑设计英文全称是,“CAAD”是“Computer Aided Architectural Design”的缩写,意思是“计算机辅助建筑设计”...
  2. html语言设置网页背景,在html网页中如何设置背景图片?网页背景怎么设置?
  3. 中石化卖咖啡报:产品体验报告 | 网易云音乐,体验一个“社交+音乐+直播”的动听世界
  4. BDLS协议重磅发布 — Sperax启动Bug Bounty计划
  5. HTML5地理位置定位API接口开发
  6. Python操作SQL server向其中插入数据时报错,且报错内容没有指向性。
  7. 人工智能年薪百万的工作岗位,主要有哪些?
  8. 云和恩墨23届校园招聘,内推NTANNzK
  9. Visual Studio 6.0下载地址
  10. FPGA - Zynq - 加载 - BootRom