Cortex M3 上的 C 中断

标签 c microcontroller interrupt stm32 cortex-m3

我目前正在尝试在STM32L152上实现中断。我没有使用标准外设库,因为我发现它们非常令人困惑并且难以理解。我还不太擅长用 C 语言来开发微 Controller 。

我目前通过寄存器做所有事情。 C语言中有没有办法通过寄存器来实现中断?那里似乎没有任何真正有意义的信息。我确实发现学习 C 一开始就非常困难。

谢谢

最佳答案

当然可以通过设置寄存器来实现中断。

  1. 寄存器值告诉STM如何处理中断、启用哪个中断、中断 Controller 如何工作。

  2. 您需要一个中断 vector 表。当中断发生时,程序计数器将被设置为程序存储器的特定地址。您应该在此处将跳转命令(汇编器 jmp)放置到您的中断服务例程中。

您应该阅读 this reference manual 中的第 10 章.

希望这有帮助。

关于Cortex M3 上的 C 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28947792/

相关文章:

c++ - Cortex-M0+ ASF 基础知识

c - 在 8 位寄存器中间存储 4 位值

c - 在哪里编写中断处理程序以及如何在 Linux 中向内核注册?

c++ - 使用 volatile 类成员进行中断处理

c - C 中的队列数据结构

c - 帮助反转 C 中的字符串

c - 使用 PIC 微处理器上的 C 语言进行二进制输出以实现 MIDI 输出

c - 一般堆栈推送错误

microcontroller - Torrent 客户端可以使用 4KB 的 RAM 运行吗?

多线程程序的C++定时器中断