In the manual of my STM32, one of the GPIO Alternate Functions (namely AF15, see page 138) is called EVENTOUT. At no point is the event defined, or a use case given.
What is the EVENTOUT alternate function of my STM32?
In the manual of my STM32, one of the GPIO Alternate Functions (namely AF15, see page 138) is called EVENTOUT. At no point is the event defined, or a use case given.
What is the EVENTOUT alternate function of my STM32?
Good question; you think they would put that info in the manual...or a least a little blurb like the following...
Doing some digging, found this from STM32F10x Technical Training V0.3
Event Out signal generation
Pulse generation with SEV instruction: to wake-up an other MCU from low power mode through its Event In signal
Looked up SEV instruction for further info/confirmation:
SEV is a hint instruction that causes an event to be signaled to all processors within multiprocessor system. It also sets the local event register to 1, see Power management.
EVENTOUT function seems to be a power management feature for multi-processor systems. I'm sure it could be used in other ways, depending on what the output pulse looks like, but I would guess the majority use case is to wake other processors thru their respective EVENTIN signals.
Edit by anonymous (subsequently re-edited for accuracy and organization)*
SEV
is an assembly language instruction. Some C compilers may allow it be be utilized via inline assembly, for example __asm__ volatile ("sev");
though the exact form will be compiler-specific.
In actual use, the instruction will output a pulse for one clock period (for example, 14ns with a 72MHz core clock) on whichever pin is configured and enabled via the AFIO_EVCR
register and is in alternate function output mode.
It was suggested that a sequence of SEV
instructions and nop's could be used to output a train of pulses at a fraction of the clock rate. Possibly two sequential SEV
instructions could create a longer pulse, though no guarantee against glitching has been cited.
* Reviewer's comment. This is an answer submitted as an edit to the O.P. by an anonymous unregistered user. This kind of edit is against guidelines (too radical). An exception for this edit can be mad in order not to lose the answer. Nick.