• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

滴答定时器怎么中断啊

huihui163 2017-10-28 浏览量:1048
stm32滴答定时器怎么中断啊
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个是core_cm3.h里面对滴答定时器的配置,通过HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);调用的。

    也就是对滴答定时器设一个值,系统时钟达到这个值就产触发中断。


    __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
    {
      if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
      {
        return (1UL);                                                   /* Reload value impossible */
      }
    
      SysTick->LOAD  = (uint32_t)(ticks - 1UL);                         /* set reload register */
      NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
      SysTick->VAL   = 0UL;                                             /* 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 (0UL);                                                     /* Function successful */
    }

    • 发布于 2017-10-30
    • 举报
    • 评论 5
    • 0
    • 0
huihui163 回复了 xhuaihe:楼上也用HAl库,怎么样 回复
xhuaihe 回复了 huihui163:挺好用的啊,有cubemx辅助,简单配置基本上点点就有了 回复
huihui163 回复了 xhuaihe:您是怎么学习HAL库的 啊 回复
xhuaihe 回复了 huihui163:至今用的还不太熟,不过多多尝试。网上没找到什么好的教程,也不想去看。把手册多看看,自然就知道怎么配置了 回复
huihui163 回复了 xhuaihe:那个手册啊 回复

其他答案 数量:4

  • http://www.stm32cube.com/explore/#all这个网站上面有一些简单的教程,当时刚开始的时候看看,感觉用处不大,还是得多摸索。手册就是STM32的用户手册了
    • 发布于2017-11-13
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :厚度最大2.5 回复

  • 那下面好像不能继续评论了,刚刚把之前刚开始学习HAL时,找的网站找出来了。
    • 发布于2017-11-13
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :https://www.mouser.com/datasheet/2/302/MC56F823XX-1126809.pdf 回复

相关问题

问题达人换一批

滴答定时器怎么中断啊