通过以下寄存器对系统滴答定时器进行配置: 1.引脚:系统滴答定时器不使用外部引脚。 2.电源:系统滴答定时器是通过SysTick 控制寄存器配置允许。系统滴答定时器时钟源是固定的系统时钟频率的一半,即参考时钟。 3. SYST_CSR寄存器使能SysTick 定时器时钟源。

以下是systick代码部分,使用滴答定时器实现简单的定时功能 #include "LPC11xx.h" /* LPC11xx definitions */ #include "gpio.h"
#define SYSTICK_DELAY 5000
volatile uint32_t TimeTick = 0;
/* SysTick interrupt happens every 10 ms */ void SysTick_Handler(void) { TimeTick++; }
void delaySysTick(uint32_t tick) { uint32_t timetick;
/* Clear SysTick Counter */ SysTick->VAL = 0; /* Enable the SysTick Counter */ SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
timetick = TimeTick; while ((TimeTick - timetick) < tick); /* Disable SysTick Counter */ SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; /* Clear SysTick Counter */ SysTick->VAL = 0; return; }
/* Main Program */
int main (void) { SystemInit();
/* Called for system library in core_cmx.h(x=0 or 3). */ SysTick_Config( SYSTICK_DELAY ); /* Enable AHB clock to the GPIO domain. */ LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6); /* Set port 3_0 to output */ GPIOSetDir( 1, 6, 1 );
while (1) /* Loop forever */ { delaySysTick(SYSTICK_DELAY); GPIOSetValue( 1, 6, 0 ); delaySysTick(SYSTICK_DELAY); GPIOSetValue( 1, 6, 1 ); } }