/** * @file * @brief Delay functions. */ #ifndef STA_STM32_DELAY_HPP #define STA_STM32_DELAY_HPP /** * @defgroup stm32Delay Delay * @ingroup stm32 * @brief STM32 Delay module. */ #ifdef DOXYGEN /** * @def STA_STM32_DELAY_ENABLE * @brief Enable module. * * @ingroup stm32BuildConfig */ # define STA_STM32_DELAY_ENABLE /** * @def STA_STM32_DELAY_US_TIM * @brief 1 MHz TIM instance used by sta::delayUs. * * NOTE: TIM time base must be started before use of sta::delayUs by calling sta::initHAL. * When using startup system task this is handled automatically. * * @ingroup stm32BuildConfig */ # define STA_STM32_DELAY_US_TIM #endif // DOXYGEN #include #ifdef STA_STM32_DELAY_ENABLE #include namespace sta { /** * @brief Millisecond delay. * * @param ms Milliseconds * * @ingroup stm32Delay */ void delayMs(uint32_t ms); #ifdef STA_STM32_DELAY_US_TIM /** * @brief Microsecond delay. * * @param us Microseconds * * @ingroup stm32Delay */ void delayUs(uint32_t us); #endif // STA_STM32_DELAY_US_TIM } // namespace sta #endif // STA_STM32_DELAY_ENABLE #endif // STA_STM32_DELAY_HPP