STM32学习手记⑤-SysTick精确延时 作者: 时间:2016-11-29 来源:网络 加入技术交流群 扫码加入和技术大咖面对面交流海量资料库查询 收藏 ************************************************************/void SysTick_Configuration( ){SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); //选择HCLK/8时钟作为SysTick时钟,9MHzSysTick_SetReload(9000); //计数9000次为1msSysTick_ITConfig(ENABLE); //打开中断}/************************************************ 函数名称 :Delay* 功能描述 : 精确延时函数* 参数 : nTime* 返回值 : 无* 全局变量 : TimingDelay* 全局静态变量: 无* 局部静态变量: 无****************************************************/void Delay(u32 nTime) {SysTick_CounterCmd(SysTick_Counter_Enable); //打开SysTick计数器TimingDelay = nTime;while(TimingDelay != 0);SysTick_CounterCmd(SysTick_Counter_Disable); //关闭计数器SysTick_CounterCmd(SysTick_Counter_Clear); //清空计数器} /********************************************* 函数名称 :main()* 功能描述 : 主函数* 参数 : 无* 返回值 : 无* 全局变量 : 无* 全局静态变量: 无* 局部静态变量: 无**********************************************/int main(){RCC_Configuration();GPIO_Configuration();NVIC_Configuration( );SysTick_Configuration( );//EXTI_Configuration( );while(1){GPIO_SetBits(GPIOE,GPIO_Pin_0);Delay(1000);GPIO_ResetBits(GPIOE,GPIO_Pin_0);Delay(1000);} }//中断函数在 stm32f10x_it.c 里面void SysTickHandler(void){TimingDelay--; } 上一页 1 2 3 下一页
评论