sysTick滴答时钟

编程入门 行业动态 更新时间:2024-10-15 10:21:55

sysTick滴答<a href=https://www.elefans.com/category/jswz/34/1769919.html style=时钟"/>

sysTick滴答时钟

关于systick的用法

时钟源介绍


通过寄存器配置,分频系数,倍频系数。滴答时钟源为:Cortex System timer(eg:48Mhz).

SysTick控制寄存器(Cortex-M权威指南)

源码介绍


SystemCoreClock =4800 0000;
uwTickFreq=1;
HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq));/**\brief   System Tick Configuration\details Initializes the System Timer and its interrupt, and starts the System Tick Timer.Counter is in free running mode to generate periodic interrupts.\param [in]  ticks  Number of ticks between two interrupts.\return          0  Function succeeded.\return          1  Function failed.\note  */
__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 */
}/*
*@brief  中断函数
*
*/
void SysTick_Handler(void)
{
}

运行机制说明

SysTick->LOAD装载初始值;
SysTick->VAL 为计数值
当VAL==0时,产生中断,产生中断同时,VAL装载初始值;

更多推荐

sysTick滴答时钟

本文发布于:2024-02-26 09:06:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1701969.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:时钟   sysTick

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!