说明.txt

来自「EASYARM1138单片机的InterruptC程序」· 文本 代码 · 共 7 行

TXT
7
字号
  针对中断优先级,我们设计了一个简单的例程:两路按键KEY1、KEY2输入采用不同的优先级中断,分别在各自的中断服务函数里控制指示灯LED1、LED2。

  其中,KEY1控制LED1、KEY2控制LED2。连接按键、指示灯的I/O均为低电平有效。
  在程序里,把KEY1中断设置为较高的优先级1、KEY2中断设置为较低的优先级2。KEY1、KEY2各自对应一个中断服务函数。在中断服务函数里做2件事情:清除中断状态、点亮对应的指示灯,然后进入一个死循环而不退出中断。

  在程序运行后,如果先按KEY1点亮LED1,再按KEY2时LED2不亮,原因是KEY1优先级比KEY2优先级高,KEY2中断无法打断KEY1中断。相反,如果先按KEY2点亮LED2,再按KEY1时也能点亮LED1,这说明较高级的KEY1中断能够打断较低级的KEY2中断。按/RST可以复位重来。

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?