系统滴答定时器
系统定时器(SysTick系统)是属于CM3内核,内嵌在NVIC中。
系统定时器是一个24bit的向下递减的计数器,计数器每计数一次的时间为1 / SYSCLK,一般我们设置系统时钟SYSCLK(与AHB相同)等于72M。当重装载数值寄存器的值递减到0的时候,系统定时器就产生一次中断,以此循环往复。
SysTick定时器能产生中断,CM3为它专门开出一个异常类型,并且在向量表中有它的一席之地。它使操作系统和其它系统软件在CM3器件间的移植变得简单多了,因为在所有CM3产品间SysTick的处理方式都是相同的。
系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。SysTick定时器除了能服务于操作系统之外,还能用于其它目的:如作为一个闹铃,用于测量时间等。

配置 stm32cubumx
1.配置系统时钟 (滴答定时器), 时钟树




配置控制led灯的引脚 pa0 (我的led是输出低电平亮)


设置名称并构建输出项目


配置烧录自动复位(可选)



代码编写(使用vscode打开(我个人喜欢用vscode打开编写))
1.在stm32f1xx_it.c 找到滴答定时器中断 SysTick_Handler重写修改

弱函数可以重写修改


这样就控制1s反转一次led1