滴答定时器简介:
系统定时器SysTick是属于CM3内核中的一个外设,相关寄存器内嵌在NVIC中,所有基于CM3内核的单片机都具有这个系统定时器,这使得软件(OS)在CM3单片机可以十分容易的移植。SysTick一般用于操作系统的产生时基功能,以维持操作系统的“心跳”。
问题描述:利用stm32自带的滴答定时器,也就是systick定时器,实现1s钟定时,滴答定时器10ms中断一次
问题分析:滴答定时器定时10ms,定时10ms后让一个变量自增。当这个变量增加了100次后,不就是1s了嘛。
编程:滴答定时器定时10ms
根据滴答定时器的寄存器,设置时钟源和重装载数即可
void SysTickInit (void)
{
SysTick_SetReload(90000);
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
SysTick_CounterCmd(SysTick_Counter_Enable);
SysTick_ITConfig(ENABLE);
}
中断处理
void SysTickHandler(void)
{
SysClock++;
}
编程:定时1s,串口发送aa
void systick_send(void)
{
static int clockDelay;
if (SysClock-clockDelay>100)
{
HostPutChar(0xaa);
clockDelay=SysClock;
}
}