我正在对 UART 进行编程,我需要使用中断来访问传输或接收。但是我对 ARM 架构中用于接收或传输的 ISR 和函数回调有点困惑?
正如 baonn 在这个答案中所描述的那样,
一段设置代码将 ISR 函数的地址存储在中断向量表中,表示“当中断发生时在该地址回调我”。
需要明确的是,ISR 本身就是“回调”的函数。被中断的代码不是回调;它只是“中断”然后“恢复”。
关于 ARM 架构,此链接可能对您有用。
回调是传递给另一段代码的函数指针(即地址)。
中断服务例程 (ISR) 是触发硬件中断时运行的函数。
中断服务例程 (ISR),也称为中断处理程序,是一种特殊的回调,不带输入参数且不返回任何内容。
如上所述,ISR 处理程序由硬件中断触发。中断处理程序“回调”不是由软件直接调用的。 中断处理程序“回调”的地址存储在中断向量表中。
这可能值得一读: