GPIO中断控制中断基本概念中断(Interrupt)是MCU实时地处理内部或外部事件的一种机制。当某种内部或外部事件发生时,MCU的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,又返回被中断的程序处,继续执行下去。GPIO中断简介每个GPIO端口的中断都由1组7个寄存器来控制。通过这些寄存器可以选择中断源、中断极性以及边沿属性。当一个或多于一个GPIO输入产生中断时,只将一个中断输出发送到供所有GPIO端口使用的中断控制器。对于边沿触发中断,为了使能其他中断,软件必须清除该中断。对于电平触发中断,要求外部中断源保持电平不发生变化,以便中断能被控制器识别。GPIO中断控制的相关寄存器GPIO中断检测寄存器,GPIOISGPIOIS(GPIOInterruptSense),offset0x404中断检测寄存器GPIOIS中设为1的位将相应的引脚配置成检测电平,而设为0的位将相应的引脚配置成检测边沿,所有位在复位时都清零。GPIO中断控制的相关寄存器GPIO中断双边沿寄存器,GPIOIBEGPIOIBE(GPIOInterruptBothEdges),offset0x408当GPIO中断检测寄存器中相应的位设置成检测边沿时,中断双边沿寄存器GPIOIBE中设为1的位将相应的引脚配置成检测上升沿或下降沿,而不用考虑GPIO中断事件寄存器GPIOIEV的相应位。将位清零会将该引脚配置成由GPIOIEV控制。所有位在复位时都清零。GPIO中断控制的相关寄存器GPIO中断事件寄存器,GPIOIEVGPIOIEV(GPIOInterruptEvent),offset0x40C中断事件寄存器GPIOIEV设为1的位将相应的引脚配置成检测上升沿或高电平,具体取决于GPIO中断检测(GPIOIS)寄存器中相应位的值。如果位清零,会将引脚配置成检测下降沿或低电平,具体取决于GPIOIS中相应位的值。所有位在复位时都清零。GPIO中断控制的相关寄存器GPIO中断屏蔽寄存器,GPIOIMGPIOIM(GPIOInterruptMask),offset0x410通过GPIO中断屏蔽寄存器可以使能或禁止中断。把中断屏蔽寄存器中的位置1,将会允许其对应的引脚触发它们各自的中断并组合成GPIOINTR线。将位清零会禁止该引脚上的中断触发。所有位在复位时都清零。GPIO中断控制的相关寄存器GPIO原始中断状态寄存器,GPIORISGPIORIS(GPIORawInterruptStatus),offset0x414该寄存器表示GPIO引脚满足中断条件,但是不一定发送到控制器。该寄存器中置为1的位表示相应引脚的中断满足条件,置为0的位表示没有满足相应引脚的中断条件。GPIO中断控制的相关寄存器GPIO已屏蔽中断状态寄存器,GPIOMISGPIOMIS(GPIOMa...