내 프로세서를 제어하기 위해 타이머가 사용 STM32F437ZGT6이고 I는 두 개의 다른 펄스 트레인 (RPM)를 계산하기 바란다. 범위가 상당히 넓어서 150 rpm으로 공회전하는 엔진이있을 수 있으며 캠에서 펄스를 얻을 수 있으므로 0.5 펄스/초 또는 1.25 펄스/초입니다. 다른 극단에서는 초당 23000 펄스 인 3000 rpm으로 460 개의 플라이휠 치아를 계산해야 할 수도 있습니다. 나는 외부 이벤트를 최대 8 개까지 나눌 수 있도록 프리스케일러를 사용할 수 있지만 모든 이벤트 또는 8 개의 이벤트가 인터럽트를 유발하기 때문에 더 빠른 속도로 너무 강렬해진다. 내가 것 고려하고STM32F4 - 비 인접 타이머
하나의 대안은 하나 개의 타이머 시계와 같은 외부 이벤트를 사용해야하고 그것은 단지 시간 창 내에서 이벤트를 계산한다. 내 어려움은 CEN 또는 유사한 동작을 설정 및 지움으로써 다른 타이머를 사용하여 창을 제어하는 방법을 결정할 때 발생합니다. RM0090에서
는 섹션 18.3.15 타이머 동기화 예는 다른 제어를 하나의 타이머는 타이머 1 개의 타이머 제어를 나타낸다. 나는 그것이 쓸모 있을지도 모른다라고 생각했다. 그러나 내가 그렇지 않다면 나는 2 명의 타이머가 짝을 지을 수 있었다는 것을 알지 않는다. 관심있는 신호는 실제로 두 개의 타이머를 공급합니다. TIM1 ch1 및 TIM9 ch1. 나는 하나의 타이머 ISR이 떨어져 화재가 다음 ISR이 열리고 시간 창을 닫 일부 루브 골드버그 방식을 자갈하지 않는
모든 제안을 감상 할 수있다.
I는 룩업 테이블은 예상되는 엔진 회전 수 및 회전 당의 펄스 수를 제공하는 제공되는 것을주의해야.
감사합니다, JH
게시 주셔서 감사합니다. 이벤트를 계산하기 위해 외부 클럭 소스를 선택하는 것에 동의하지만 타이머가 카운트 할 수있는 시간을 정확하게 제어하는 방법을 알아야합니다. 예를 들어, 게이트를 선택하거나 원하는 시간만큼 껐습니다. 는 I 다른하는 precaler 또는 컨트롤러에 대해 하나의 타이머를 이용하여 상기 부분을 읽을 수 있지만 예에서는 타이머 (1) 및 (2) 내가 교인 슬레이브와 같은 임의의 세트를 사용하는 방법을 볼 수있다 이용한다. 다시 게시 해 주셔서 감사합니다. JH – user2579721
마침내 표 97을 발견했습니다. RM0090의 TIMx 내부 트리거 연결과 제한된 마스터 채널 선택이 있습니다. 따라서 내 회로 중 하나가 정상적으로 작동 할 수 있으며 다른 동일한 회로는 다시 레이아웃해야합니다. – user2579721
확인. 만약 당신이 특정 시간 창에서만 외부 사건을 세어야한다는 것을 이해한다면? 다음과 같이 권하고 싶습니다. 위에서 설명한 것처럼 하나의 타이머를 외부 이벤트의 카운터로 사용하십시오. 두 번째 타이머 출력 비교 채널을 사용하여 첫 번째 타이머를 활성화합니다. 이것은 RM0090의 "18.3.15 Timer synchronization"절에서 "하나의 타이머를 사용하여 다른 타이머를 활성화"에서 찾을 수 있습니다. 작업을 해결하는 더 좋은 방법이있을 수 있지만 먼저 더 자세히 설명해야합니다. – Yuriy