历史上的今天
今天是:2025年01月16日(星期四)
2021年01月16日 | STM32F1_SysTick系统滴答
2021-01-16 来源:eefocus
前言
今天讲解“STM32F103 SysTick系统滴答”,“SysTick系统滴答”是属于Cortex-M3内核的一部分,主要是为运行的操作系统提供滴答时钟,如常见的操作系统:uCOS、RTOS等。不管M3芯片属于哪一家公司,它都标配有SysTick这一部分。因此,它属于芯片内核的一部分,主要是为了方便操作系统的移植。
其实,SysTick能实现的功能,都可以由TIM来实现。SysTick无非就是定时中断的功能,它完全可以由TIM定时器来完成。之所以SysTick独立出来就是因为它属于内核一部分,方便用户移植,而且简单方便。学过uCOS的人都知道,以前在51,或者430上面是由定时器完成的时钟滴答,到后面ARM公司就用到了一个好的办法,就是在内核中标配一个SysTick,这样下来移植系统不用那么麻烦了。
SysTick除了在操作系统中起到作用,其实在裸机程序中也起到很大作用,比如:定期处理一段程序、超时定时、串口接收超时等,今天就以“定期处理一段程序”为例来说一下。
说到操作系统,后期我也会花一定时间讲解一下uCOS操作系统,感兴趣的朋友可以关注一下。
本文特点:1.提供讲解的软件工程; 2.重点代码截图,配讲解。
https://yunpan.cn/cSVIp4UeSpA9B 访问密码 f486
STM32F10x的资料可以在我360云盘下载:
https://yunpan.cn/crBUdUGdYKam2 访问密码 ca90
内容讲解
工程概要说明: 系统上电初始化完成,配置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的资料”中下载。


说明
今天提供的软件工程基于STM32F103大容量芯片,其实只要适当修改工程的部分配置,STM32F1的芯片都适用。
上一篇:STM32_TIM延时讲解
史海拾趣
|
用GD32F470开发板的LCD Demo程序驱动AT070TN94 屏,结果是花屏,测了下DE 的频率是63us,厂家说调成35us,在demo 程序中哪里设置呢?求解答,谢谢! … 查看全部问答> |
|
请问 ARM CONTEXT M0 免费提供的 除了核心 包不包括ADC FLASH 等部件 请问 ARM CONTEXT M0 免费提供的 除了核心 包不包括ADC FLASH 等部件 … 查看全部问答> |
|
低功耗电流采样 在日常生活中TWS(真无线蓝牙耳机)已经非常之常见,事实上也非常方便,实在是太香了,除了容易掉,我已经掉了两TWS~那只能拜拜了~家境贫寒的我已经不能再买TWS耳机了。 人 ...… 查看全部问答> |
|
已经量产的板子,客户遭到投诉有滋滋的声音,拿到公司,查也没有查出来, 后面观察到板子有一个为了省成本,有一个驱动IC 没要,后面加上去了,就解决了, 现在是做的升级版,加了一套升压进去,工作电流也翻了一倍,之前是1A , 现在是2A ...… 查看全部问答> |
|
导语:同步整流技术采用通态电阻极低的电力MOSFET来取代整流二极管,能大大降低整流电路的损耗,提高DC/DC变换器的效率,满足低压、大电流整流器的需要。本文将从同步整流电路的原理图着手,介绍了电力MOSFET的反向电阻工作区及同步整流技术的基本 ...… 查看全部问答> |
|
一、 设计说明 DM21056 是我司新设计的一款非接触式阵列红外测温模组,可实时测量物体表面多个点的温 度并通过串口通讯把数据发送给用户,并可以做成热力图直观体现测量物体表面的温度分布情况。该模组应用的阵列红外温度传感器,具有测量距离远 ...… 查看全部问答> |
|
在我使用TI的仿真Spice模型的时候,我打开一看竟然是乱码,还一度以为自己加载错了,后来经过我查找发现,原来是他的代码加密了。So是为了防止我薅羊毛?魔改? 加密整起来兄弟们!!! 使用Ltspice做加密要使用windows自带的命令行, ...… 查看全部问答> |
|
【中科亿海微EQ6HL45开发平台测评体验】+07.USB测试与仿真(zmj) 【中科亿海微EQ6HL45开发平台测评体验】+07.USB测试与仿真(zmj) 中科亿海微EQ6HL45开发平台包含一个USB2.0通信接口,它可以实现FPGA和PC之间的USB通信。 本篇内容主要包含USB2.0接口、测试和仿真。其中,实测PC和FPGA之间的USB2.0通信存在 ...… 查看全部问答> |




