2022-05-09 21:19:06 +02:00

69 lines
1.1 KiB
C++

/**
* @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 <sta/config.hpp>
#ifdef STA_STM32_DELAY_ENABLE
#include <cstdint>
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