#include <stm32f4xx.h>
GPIO_TypeDef* io_led=GPIOC;
const u16 pin_led=GPIO_Pin_1;
static __IO uint32_t TimingDelay;
void Led_Init()
{
GPIO_InitTypeDef GPIO_init_l;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
GPIO_init_l.GPIO_Pin=GPIO_Pin_1;
GPIO_init_l.GPIO_Mode=GPIO_Mode_OUT;
GPIO_init_l.GPIO_OType=GPIO_OType_PP;
GPIO_init_l.GPIO_Speed=GPIO_Speed_100MHz;
GPIO_init_l.GPIO_PuPd=GPIO_PuPd_NOPULL;
GPIO_Init(GPIOC,&GPIO_init_l);
}
void TimingDelay_Decrement()
{
if(TimingDelay!=0x00)
{
TimingDelay--;
}
}
void Delay(__IO uint32_t ntime)
{
TimingDelay=ntime;
while(TimingDelay!=0);
}
int main(void)
{
Led_Init();
SystemInit();
if(SysTick_Config(SystemCoreClock / 1000))
{
while(1);
}
while(1)
{
io_led->ODR^=pin_led;
Delay(500);
}
}
extern void TimingDelay_Decrement(void);
void SysTick_Handler(void)
{
TimingDelay_Decrement();
}
//中断函数,放在stm32f4xx_it.c中