系统定时器(SysTick)Cortex®-M0内置一个系统定时器SysTick,SysTick提供一个简单的24位写清零、递减、自动装载,同时拥有灵活控制机制的寄存器。该计数器可用作实时操作系统(RTOS)的滴答定时器或一个简单的计数器。当系统定时器使能后,将从SysTick当前值寄存器(SYST_CVR)的值向下计数到0,并在下一个时钟边缘,重新加载SysTick重新加载值寄存器(SYST_RVR)的值,然后再随时钟递减。当计数器递减到0,COUNTFLAG 状态位就会被设置,读COUNTFLAG 位使其清零。SYST_CVR的值在复位后是未知的,使能前,软件应该向寄存器写入值来清零。这样确保定时器使能时以SYST_RVR的值开始计数,而非任意值。如果SYST_RVR的值为0,定时器在重新加载后将保持值为0。这种机制可以在计数器使能后,独立地禁用计数功能。详情请参考 “ARM® Cortex®-M0技术参考手册”和“ARM®v6-M架构参考手册”.
|