SysTick->CTRL,这个是指向systick结构体的一个成员的意思,也就是指向你图里的那个寄存器,并不是什么指向那个位吧?
当它正在倒数时候,本身是0,你读取和不读取都为0,只有倒数结束时为1,你读取之后自动清零
SysTick 是结构体,具体定义在《STM32固件库使用手册(中文翻译版)》237页;
typedef struct
{
vu32 CTRL;
vu32 LOAD;
vu32 VAL;
vuc32 CALIB;
} SysTick_TypeDef;
SysTick外设声明于文件“stm32f10x_map.h”:这个文件里有这样的定义
#define SysTick ((SysTick_TypeDef *) SysTick_BASE)
所以->是c语言里结构体指针应用元素
CTRL就是STK_CSR寄存器
楼主表格里的是STK_CSR寄存器的四个位
估计楼主是看普中的STM32教程,我也是看这个,教程里直接给了延时函数,函数里SysTick->CTRL没有解释,看不懂,我是看到其他网站上有人回答是结构体,再一查手册就找到了。
就是你去读取该寄存器位后会被硬件清零。
打个类似的生活实例吧。比方 老师抽屉里有份试卷,不给你看
时你去看了,那该试卷就得作废,相当清零。该试卷不得再用。呵呵