/** ****************************************************************************** * @file bsp_SysTick.c * @author fire * @version V1.0 * @date 2016-xx-xx * @brief SysTick 系统滴答时钟10us中断函数库,中断时间可自由配置, * 常用的有 1us 10us 1ms 中断。 ****************************************************************************** * @attention * * 实验平台:野火 STM32 H750 开发板 * 论坛 :http://www.firebbs.cn * 淘宝 :http://firestm32.taobao.com * ****************************************************************************** */ #include "./systick/bsp_SysTick.h" static __IO u32 TimingDelay; /** * @brief 启动系统滴答定时器 SysTick * @param 无 * @retval 无 */ void SysTick_Init(void) { /* SystemFrequency / 1000 1ms中断一次 * SystemFrequency / 100000 10us中断一次 * SystemFrequency / 1000000 1us中断一次 */ if (HAL_SYSTICK_Config(SystemCoreClock / 100000)) { /* Capture error */ while (1); } } /** * @brief us延时程序,10us为一个单位 * @param * @arg nTime: Delay_us( 1 ) 则实现的延时为 1 * 10us = 10us * @retval 无 */ void Delay_us(__IO u32 nTime) { TimingDelay = nTime; while(TimingDelay != 0); } /** * @brief 获取节拍程序 * @param 无 * @retval 无 * @attention 在 SysTick 中断函数 SysTick_Handler()调用 */ void TimingDelay_Decrement(void) { if (TimingDelay != 0x00) { TimingDelay--; } } /*********************************************END OF FILE**********************/