STM32 이벤트 EVENTOUT은 무엇입니까?


17

에서 수동 내 STM32의 GPIO 대체 기능 중 하나 EVENTOUT이라고 (즉 AF15, 138 페이지 참조). 어떤 시점에서도 이벤트가 정의되거나 유스 케이스가 아닙니다.

STM32의 EVENTOUT 대체 기능은 무엇입니까?

답변:


16

좋은 질문; 그들은 그 정보를 매뉴얼에 넣을 것이라고 생각합니다 ... 또는 다음과 같은 최소한의 희미 함 ...

파고 들었을 때 STM32F10x 기술 교육 V0.3 에서 이것을 발견했습니다.

이벤트 출력 신호 생성
SEV 명령으로 펄스 생성 : 저전력 모드에서 다른 입력 신호를 통해 다른 MCU를 깨우기

추가 정보 / 확인을 위해 SEV 명령 을 찾았습니다 .

SEV는 다중 프로세서 시스템 내의 모든 프로세서에 이벤트가 발생하도록하는 힌트 명령입니다. 또한 로컬 이벤트 레지스터를 1로 설정합니다 (전원 관리 참조).

EVENTOUT 기능은 다중 프로세서 시스템의 전원 관리 기능인 것 같습니다. 출력 펄스의 모양에 따라 다른 방식으로 사용될 수 있다고 확신하지만 대부분의 유스 케이스는 각각의 EVENTIN 신호를 통해 다른 프로세서를 깨우는 것입니다.

익명으로 편집 (나중에 정확성과 구성을 위해 다시 편집) *

SEV어셈블리 언어 명령어입니다. 예를 들어 __asm__ volatile ("sev");정확한 형식은 컴파일러마다 다르지만 일부 C 컴파일러에서는 인라인 어셈블리를 통해이를 사용할 수 있습니다 .

실제 사용시, 명령어는 AFIO_EVCR레지스터 를 통해 구성 및 활성화 되고 대체 기능 출력 모드에 있는 핀 중 하나의 클럭주기 (예 : 72MHz 코어 클럭의 14ns) 동안 펄스를 출력합니다.

일련의 SEV명령 및 nop를 사용하여 클록 속도의 일부로 펄스 트레인을 출력 할 수 있다고 제안했다 . 아마도 두 개의 순차적 SEV명령어가 더 긴 펄스를 생성 할 수 있지만 글리치 방지에 대한 보장은 없습니다.

* 검토 자의 의견. 익명의 등록되지 않은 사용자가 OP에 수정 사항으로 제출 한 답변입니다. 이런 종류의 편집은 지침에 위배됩니다 (너무 급진적 임). 이 편집에 대한 예외는 답을 잃지 않기 위해 화를 낼 수 있습니다. 새긴 ​​금.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.