今日解说“STM32F103 SysTIck体系滴答”,“SysTIck体系滴答”是归于Cortex-M3内核的一部分,首要是为运转的操作体系供给滴答时钟,如常见的操作体系:uCOS、RTOS等。不论M3芯片归于哪一家公司,它都标配有SysTIck这一部分。因而,它归于芯片内核的一部分,首要是为了便利操作体系的移植。
其实,SysTIck能完结的功用,都可以由TIM来完结。SysTick无非便是守时中止的功用,它完全可以由TIM守时器来完结。之所以SysTick独立出来便是由于它归于内核一部分,便利用户移植,并且简略便利。学过uCOS的人都知道,曾经在51,或许430上面是由守时器完结的时钟滴答,到后边ARM公司就用到了一个好的方法,便是在内核中标配一个SysTick,这样下来移植体系不必那么麻烦了。
SysTick除了在操作体系中起到效果,其实在裸机程序中也起到很大效果,比方:守时处理一段程序、超时守时、串口接纳超时等,今日就以“守时处理一段程序”为例来说一下。
内容解说
工程概要阐明: 体系上电初始化完结,装备SysTick,1秒滴答(中止)10次,履行的一段程序便是“改变LED”,运转该程序就可以看到界说的LED不在1秒钟闪耀10次。
关于“STM32F103 SysTick体系滴答”我把重要的几点在下面别离叙述:
一、装备并初始化SysTick
该函数坐落main.c文件下面;
上图中赤色箭头处10代表的意思便是:一秒钟滴答(中止)10次,可自行修正这个值。用于体系,咱们一般在100 — 1000之间,也便是要滴答100 — 1000次。
获取体系时钟,正常情况下,咱们这儿的RCC_ClocksStructure.SYSCLK_Frequency应该和SystemCoreClock相同,最如同上面程序中直接获取体系时钟,原因很简略,有或许SystemCoreClock与实践的不相同。
二、SysTick_Config函数概况
该函数坐落core_cm3.c文件下面;
这个函数是芯片标志的函数接口,我大约解说一下吧,设置重载值,设置中止优先级,装备并初始化SysTick。
三、SysTick中止
该函数坐落stm32f10x_it.c文件下面;
处理的程序就改变LED,也便是注释的句子。
四、SysTick寄存器
有4个寄存器操控SysTick守时器,在STM32参考手册中没有说到,坐落“Cortex-M3威望攻略Cn”中,在我供给的“STM32F10x的材料”中下载。