STM32事件EVENTOUT是什么?

电器工程 stm32
2022-01-08 23:49:44

在我的 STM32 的手册中,其中一个 GPIO 备用功能(即 AF15,参见第 138 页)称为 EVENTOUT。在任何时候都没有定义事件,也没有给出用例。

我的 STM32 的 EVENTOUT 备用功能是什么?

1个回答

好问题; 您认为他们会将这些信息放入手册中……或者至少像下面这样的一些简介……

做一些挖掘,从STM32F10x 技术培训 V0.3中找到了这个

Event Out 信号生成
使用 SEV 指令生成脉冲:通过其 Event In 信号将另一个 MCU 从低功耗模式唤醒

查找SEV 指令以获取更多信息/确认:

SEV 是一个提示指令,它导致一个事件被通知给多处理器系统中的所有处理器。它还将本地事件寄存器设置为 1,请参阅电源管理。

EVENTOUT 功能似乎是多处理器系统的电源管理功能。我确信它可以以其他方式使用,具体取决于输出脉冲的样子,但我猜大多数用例是通过它们各自的 EVENTIN 信号唤醒其他处理器。

匿名编辑(随后为准确性和组织重新编辑)*

SEV是汇编语言指令。一些 C 编译器可能允许通过内联汇编使用它,例如,__asm__ volatile ("sev");尽管确切的形式将是特定于编译器的。

AFIO_EVCR在实际使用中,该指令会在通过寄存器配置和使能且处于复用功能输出模式的任一引脚上输出一个时钟周期的脉冲(例如,14ns,内核时钟为 72MHz) 。

有人建议可以使用一系列SEV指令和 nop 以时钟速率的一小部分输出一串脉冲。可能两个顺序SEV指令可以产生更长的脉冲,尽管没有保证不会出现故障。

* 审稿人的意见。 这是匿名未注册用户作为对 OP 的编辑提交的答案。这种编辑违反了指导方针(太激进了)。为了不丢失答案,此编辑的例外可能会发疯。缺口。