해결된 질문
작성
·
62
1
안녕하세요. 강사님.
강의 잘 보고 있습니다.
한 가지 궁금한게 있어 질문 드립니다.
STM에선 TIM2~5에 3개의 HALL 센서 신호를 XOR하여 처리할 수 있는 하드웨어가 있는 것으로 알고 있습니다.
각 센서 신호를 각각 외부 인터럽트로 설정하는 것보다 XOR하여 CC1 인터럽트가 발생할 때마다 처리하는게 제 생각엔 더 깔끔할 것 같은데 외부 인터럽트로 설정하는 이유가 있을까요?
답변 2
1
1
질문해주신 방식(TIM Hall 모드 + XOR → CC1 인터럽트 방식)이 말씀하신 대로 훨씬 더 효율적인 방식인 건 맞습니다.
인터럽트 하나만으로도 모든 Hall 신호를 처리할 수 있고, 타이머 캡처 기능까지 활용하면 속도 계산도 정밀하게 할 수 있어서 코드도 깔끔하고 리소스 소모도 적습니다.
다만, 앞서 실습에서는 폴링/라이징 엣지 외부 인터럽트(EXTI)를 활용해봤기 때문에, 그 개념을 연계해서 Hall 센서도 EXTI 방식으로 구현해봤습니다.
즉, 학습 목적상 EXTI를 이용한 구조를 먼저 적용해본 거고, 실제 제품 개발 시에는 질문하신 TIM Hall 방식이 더 적절한 선택일 수 있습니다! 좋은 질문 감사합니다ㅎㅎ