小白在这里写了个,但是验证没通过,大佬们过来看看这个程序那边错了啊 void SysTick_Handler(void) { if(Timing!=0x00) { Timing--; } } void Delay_Us(uint32_t nTime) { SysTick->LOAD = 72*nTime;//设置时间初试时间的 Timing = nTime; SysTick->CTRL = 7;// while(Timing!=0x00); SysTick->CTRL = 6; } int main() { uint32_t i; LED_Init(); while(1) { GPIO_ResetBits(GPIOD,GPIO_Pin_2);//输出低电平 for(i=0;i<1000;i++) Delay_Us(1000); GPIO_SetBits(GPIOD,GPIO_Pin_2);//输出高电平 for(i=0;i<1000;i++) Delay_Us(1000); } } |
在void SysTick_Handler(void)里调用toggle就可以闪灯了另外你的时钟都没有初始化
1.先设置系统时钟(看您自己的库是什么函数,一般都是包含System_Clock之类的关键字)
2.LED_Init();
3.设置SysTick_Config(SystemCoreClock),你自己看函数名称可能不一样
这三步式必须的,然后systick_handler中断才能被调用
评分
查看全部评分
已解决,谢啦