开学了,无法再像假日相同能够一整天玩板了!好在这学期的课说少不少,说多也不多,每周也有十几节操。剩余的时刻除掉学生作业等一些七七八八的工作,连续着仍是能看看教程玩玩板!越发发现《STM32菜鸟学习手册——烦琐版》真是不错的入门教程,简略易懂。其他比如《固件库手册》等等官方文件更是必不可少,惋惜ST公司的网页找手册真实费事得很呐!
这两天一直在看有关于体系嘀嗒时钟SysTick的文件,但由于3.5版的固件库较2.0版的库,现已将SysTick相关的驱动函数移除,用户要运用SysTick就有必要改为调用CMSIS中的函数,而网上大多数的例程(包含《菜鸟学习手册》)运用的都是2.0的库,以至于在学习中遇到许多问题,程序编译总会出现问题。一般都是“无法找到与SysTick相关的函数,函数未定义”过错。因而,查找了许多文献才得以处理。
SysTick定时器被捆绑在NVIC中,用于发生SysTick反常(反常号:15)。首要应用于操作体系,作为“嘀嗒中止”保持操作体系“心跳”的节律。当然,SysTick定时器除了能服务于操作体系之外,还能用于其它意图:如作为一个闹铃,用于丈量时刻等。要注意的是,当处理器在调试期间被喊停(halt)时,则SysTick定时器亦将暂停运作。
1.SysTick寄存器:
寄存器
|
阐明
|
地址
|
CTRL
|
SysTick操控和状况寄存器
|
0xE000E010
|
LOAD
|
Systick重装值寄存器
|
0xE000E014
|
VAL
|
Systick当时值寄存器
|
0xE000E018
|
CALIB
|
SysTick校准值寄存器
|
0xE000E01C
|
lSysTick操控和状况寄存器(SysTick_CTRL)


阐明:
CLKSOURCE位:CM3答应为SysTick供给两个时钟源以供挑选。第一个是内核的“自在运转时钟”FCLK。“自在”表现在它不来自体系时钟HCLK,因而在体系时钟中止时FCLK也持续运转。第二个是一个外部的参阅时钟。可是运用外部时钟时,由于它在内部是经过FCLK来采样的,因而其周期有必要至少是FCLK的两倍(采样定理)。许多情况下芯片厂商都会疏忽此外部参阅时钟,因而一般不可用。
COUNTFLAG位:当SysTick定时器从1计到0时,它将把COUNTFLAG方位位;而下述办法能够清零之:
读取SysTick操控及状况寄存器(STCSR);
往SysTick当时值寄存器(STCVR)中写任何数据。
lSysTick重装值寄存器(SysTick_LOAD)


阐明:
当计数器倒数至0时,运用SysTick_LOAD寄存器来指定载入“当时值寄存器”的初始值。初始值能够是1到0x00FFFFFF之间的任何值。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/256349.html