임베디드 프로그래밍에서는 임계 섹션이라고하는 코드의 원자 섹션을 생성해야합니다. 매크로는 보통 다음과 같이 매크로를 통해 구현됩니다.constexpr을 통한 중요 섹션
#define ENTER_CRITICAL() int saved_status_ = CPU_STATUS_REGISTER; __disable_irq();
#define EXIT_CRITICAL() CPU_STATUS_REGISTER = saved_status_
인터럽트 상태 입력 (활성화 또는 비활성화)이 저장됩니다. 퇴장시 - 복원됩니다. 문제는 추가 변수가 필요하다는 것입니다.
제 질문은 constexpr 함수를 통해 중요한 섹션을 만들 수 있습니까? (그리고 매크로를 없애기 위해)
매크로를 함수로 구현하여 제거하거나 원치 않는 부작용이있을 수 있습니까? – stijn
그런 다음 공통 변수를 사용하므로 입력 및 종료에 대한 하나의 함수 여야합니다 (물론 정적이어야합니다). 음, 아마도 그게 답입니다. 나는 그것에 대해 생각할 필요가있다. – Amomum
또는 정적 변수를 없애고 로컬 변수를 사용할 수 있습니까? – stijn