Arm GPIO级别触发理解

Arm GPIO级别触发理解,arm,embedded,interrupt,gpio,interrupt-handling,Arm,Embedded,Interrupt,Gpio,Interrupt Handling,我最近开始研究边触发和电平触发的GPIO中断。我实现了边缘触发,这似乎工作得很好,但对于级别触发的中断,我有点困惑 假设,我将初始状态的引脚拉低,并将引脚配置为高电平触发中断。因此,如果我现在将Vcc连接到我的pin,我将收到一个中断。那很好。我现在的问题是,如果我将Vcc持续连接到该引脚,中断是应该继续出现还是应该只触发一次? 注意:我已清除Gpio处理程序中断例程中的挂起中断 如果有任何好的参考文件,请提供链接也,我想深入挖掘。谢谢 中断应该继续出现还是只触发一次 这通常是电平触发中断的主要

我最近开始研究边触发和电平触发的GPIO中断。我实现了边缘触发,这似乎工作得很好,但对于级别触发的中断,我有点困惑

假设,我将初始状态的引脚拉低,并将引脚配置为高电平触发中断。因此,如果我现在将Vcc连接到我的pin,我将收到一个中断。那很好。我现在的问题是,如果我将Vcc持续连接到该引脚,中断是应该继续出现还是应该只触发一次? 注意:我已清除Gpio处理程序中断例程中的挂起中断

如果有任何好的参考文件,请提供链接也,我想深入挖掘。谢谢

中断应该继续出现还是只触发一次

这通常是电平触发中断的主要特点:一旦输入线处于触发电平且中断标志清除,中断即被触发

因此,如果您的GPIO线路始终处于触发级别,则中断将首先触发—一旦您清除ISR中的中断标志,中断将再次触发—可能不是很有用,但这取决于您想要什么。在这样的系统中,您的代码将持续执行ISR,而不会执行其他任何操作

中断应该继续出现还是只触发一次

这通常是电平触发中断的主要特点:一旦输入线处于触发电平且中断标志清除,中断即被触发


因此,如果您的GPIO线路始终处于触发级别,则中断将首先触发—一旦您清除ISR中的中断标志,中断将再次触发—可能不是很有用,但这取决于您想要什么。在这样的系统中,您的代码将持续执行ISR,而不执行其他任何操作。

通过实验学习发生了什么事?通过实验学习发生了什么事?“当您清除中断标志后……”并启用中断。“您的代码将持续执行ISR”--而不是“代码”,您不是指处理器吗?您当然可以更改ISR中的级别含义(从高到低)。您的ISR将需要状态,并且由于ISR执行和转换事件的延迟(即最小脉冲宽度),您可能会错过转换。出于这个原因,人们通常坚持使用边缘触发器并读取ISR中的电平。“一旦清除中断标志…”并启用中断。“您的代码将持续执行ISR”--而不是“代码”,您不是指处理器吗?您当然可以更改ISR中的级别含义(从高到低)。您的ISR将需要状态,并且由于ISR执行和转换事件的延迟(即最小脉冲宽度),您可能会错过转换。出于这个原因,人们通常坚持使用边缘触发器并读取ISR中的液位。