soft_warn.c 618 B

123456789101112131415161718192021222324252627282930313233
  1. #include "soft_warn.h"
  2. static uint32_t _warn_flag = 0;
  3. uint32_t get_warn_flag(void) { return _warn_flag; }
  4. /**
  5. * @brief 置位警报标志位的某一位为 1
  6. *
  7. * @param warnBits
  8. */
  9. void set_warn_flag_bit(WarnBitsType warnBits) { _warn_flag |= (1 << warnBits); }
  10. /**
  11. * @brief 置位警报标志位的某一位为 0
  12. *
  13. * @param WarnBits
  14. */
  15. void reset_warn_flag_bit(WarnBitsType WarnBits)
  16. {
  17. _warn_flag &= ~(1 << WarnBits);
  18. }
  19. /**
  20. * @brief Get the warn flag bit
  21. *
  22. * @param WarnBits
  23. * @return uint8_t
  24. */
  25. uint8_t get_warn_flag_bit(WarnBitsType WarnBits)
  26. {
  27. return (_warn_flag >> WarnBits) & 1;
  28. }