portcritical.c 718 B

123456789101112131415161718192021222324252627282930
  1. /**
  2. * @file portcritical.c
  3. * @brief FreeModbus Library: CMSIS-RTOS2 Port. Critical section functions definition
  4. *
  5. * @details
  6. * @date 2022 Jun 30
  7. * @author Ly Hon Quang
  8. * @e-mail lyhonquang@gmail.com
  9. *
  10. */
  11. /* ----------------------- System includes --------------------------------*/
  12. /* ----------------------- Modbus includes ----------------------------------*/
  13. #include "port.h"
  14. #include "cmsis_os2.h"
  15. /* ----------------------- Variables ----------------------------------------*/
  16. static int32_t lock;
  17. /* ----------------------- Start implementation -----------------------------*/
  18. void EnterCriticalSection(void)
  19. {
  20. lock = osKernelLock();
  21. }
  22. void ExitCriticalSection(void)
  23. {
  24. osKernelRestoreLock(lock);
  25. }