问题:

使用systick_config()函数来实现计数,这个函数在下面代码中的 SysTick_CTRL_TICKINT_Msk 开启了中断。不论系统时钟为72Mhz或36Mhz若设置STM32每10us进入一次中断,计时是可以的;而每1us进入中断,由于中断指令较多,那么程序就会困在中断里出不来。

static __INLINE uint32_t SysTick_Config(uint32_t ticks)

{

if (ticks > SysTick_LOAD_RELOAD_Msk)  return (1);            /* Reload value impossible */

SysTick->LOAD  = (ticks & SysTick_LOAD_RELOAD_Msk) - 1;      /* set reload register */

NVIC_SetPriority (SysTick_IRQn, (1VAL   = 0;                                          /* Load the SysTick Counter Value */

SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |

SysTick_CTRL_TICKINT_Msk   |

SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */

return (0);                                                  /* Function successful */

}

解决:

尽量不使用中断计时,注释掉Systick_Config()中的SysTick_CTRL_TICKINT_Msk ,或者在delay函数中不使用Systick_Config(),直接自己加载数值。

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

timer延迟1us_STM32 Systick定时器在实现1us延时的问题与解决相关推荐

  1. 嵌入式单片机基础篇(十)之Systick定时器原理及应用

    Systick定时器原理及应用 1.什么是Systick定时器? 回答: (1)ystick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器. (2)Systick定时 ...

  2. STM32开发 -- Systick定时器

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/81630311 一.Systick定时器介绍 参看:STM32菜鸟成长记录-系 ...

  3. 【STM32】SysTick定时器

    00. 目录 文章目录 00. 目录 01. SysTick定时器概述 02. SysTick定时器寄存器描述 03. 相关函数实现 04. 延时函数实现 05. 应用示例 06. 附录 07. 声明 ...

  4. 14. GD32F103C8T6入门教程-Systick定时器

    1.简介 Cortex‐M3 处理器内部包含了一个简单的定时器.因为所有的 CM3 芯片都带有这个定时器,软件在不同 CM3 器件间的移植工作得以化简.该定时器的时钟源可以是内部时钟,或者是外部时钟. ...

  5. SysTick 定时器

    11.1关于 SysTick 定时器 SysTick定时器(又名系统滴答定时器)是存在于Cortex-M3的一个定时器,只要是ARM Cotex-M系列内核的MCU都包含这个定时器.使用内核的SysT ...

  6. 4、SysTick定时器的理解

    参考文档<Cortex-M3权威指南(中文).pdf> 什么是systick? 手册解释: RCC通过AHB时钟(HCLK)8分频后作为Cortex系统定时器(SysTick)的外部时钟. ...

  7. STM32的SysTick定时器记录一篇

    CSDN博客主页 ID : Eterlove 一笔一画,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants! 该文章为原创,转载请注明出处和作者! 前言 我 ...

  8. 【STM32学习】SysTick定时器(嘀嗒定时器)

    SysTick定时器 一.参考资料 二.时钟源选择与定时时间计算 1.时钟源选择 2.定时时间计算 三.SysTick_Handler中断服务函数 一.参考资料 嘀嗒定时器:时钟源.寄存器 二.时钟源 ...

  9. STM32延时函数的四种方法:普通延时(2种)、SysTick 定时器延时(2种)

    STM32延时函数的三种方法:普通延时.SysTick 定时器延时(1.中断方式:2.非中断方式) 单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us( )和毫秒级delay_ ...

最新文章

  1. VS 2010中对WPF4有哪些多点触摸支持?
  2. 烽火18台系列之十一:刚需中的刚需——网站篡改监控
  3. 【每日一算法】二叉树的最大深度
  4. php redis删除所有key,redis中批量删除key的方法
  5. 大多数人对AI的理解,都是错的
  6. SQLServer之创建辅助XML索引
  7. 字符串的方法、注释及示例1.
  8. 使用Python和OpenCV创建自己的“ CamScanner”
  9. Android无法优化应用,Android应用优化总结
  10. MySQL数据库编译过程
  11. 深度学习中常说的向量和表示
  12. mysql自动关闭_服务器mysql数据库老自动停止,请问怎么回事
  13. 微信小程序开始试点广告功能,一个新的广告竞价体系将要诞生
  14. python实现logistic增长模型
  15. 全网疯传的PDF干货合集,50个精选BAT等大厂大数据、算法落地经验,白拿不谢!...
  16. UnboundLocalError: local variable 'XXX' referenced before assignment
  17. java请假系统毕业设计_jsp企业员工考勤管理系统
  18. 信息学奥赛NOIP/CSP-J初赛知识点汇总
  19. nas怎么做网站服务器,NAS存储搭建网站服务器
  20. PIC16F887 单片机 信号发生器 波形发生器 PCF8591

热门文章

  1. 编写python程序、计算账户余额_《易学Python》——第1章 为何学习Python 1.1 学习编程...
  2. 组网方案设计,运用Mesh组网实现无缝漫游!
  3. python程序运行时间的几种分析方法
  4. 网络安全中的NISP-SO安全运维工程师都需要那些工具?
  5. linux 查看emmc分区表_Linux和Uboot下eMMC boot分区读写
  6. 彩虹商城知识付费程序-优质站,易支付可自定义(货源对接)
  7. 联想拯救者Y9000P和华硕ROG幻16哪个好
  8. 神经网络学习笔记(一):全连接层的作用是什么?
  9. Nginx模块开发系列1--预备知识
  10. 是时候回答【我为什么要学习 Go 语言(golang)】这个问题了