我的想法是:
假设两个应用程序在Linux x86 (多任务)中并行运行,并且它们都共享键盘外设。如果我按下键盘上的按钮,中断发生,控制必须切换到相应的中断例程。中断源的中断例程的起始地址从已从0x0000定义的中断向量表中获得。但是对于相同的键盘中断,两个应用程序可能需要不同的例程。因此,要执行的例程应该取决于它实际上是从哪个任务中断的。
因此,这是否意味着必须为两个进程保留两个单独的中断向量表,并且它们在进程打开时间片时由内核加载?
正如标题所说。例如,您有一个名为values11的值列表,并且希望在循环参数中循环该列表:
while(something not in values[])
{
doSomething(omgwtfbbq)
}
但它当然不能在C++中工作...至少我是这么认为的。至少“not”关键字不存在。
有没有人能建议一下有没有解决这个问题的办法?
假设有一个端口映射的I/O设备,它在IRQ线路上任意生成中断。设备的挂起中断可以通过对特定寄存器的单个outb调用来清除。
此外,假设下面的中断处理程序通过request_irq分配给相关的IRQ行
irqreturn_t handler(int irq, void *data)
{
/* clear pending IRQ on device */
outb(0, CLEAR_IRQ_REGISTER_ADDR);
/* device may generate another IRQ at this point,
* but
我有个程序可以让LED产生脉动。我还用一个按钮连接了PC8574 GPIO扩展器。我想评估一下按键的效果。但是,我只能在程序处于使LED变亮和再次变暗之间(在两个for循环之间)时读取INT (中断)的状态。
我知道问题在于for循环的延迟,但我不知道如何避免这个问题。
是否有可能更频繁地评估与中断相关的代码,或者像真正的中断一样-总是在按下实际的键时?如果是这样,又是如何做到的呢?
我使用这个库:
/*LED_Breathing.ino Arduining.com 20 AUG 2015
Using NodeMCU Development Kit V1.0
Going beyond Bli