回答

收藏

【赚周年币】技术贴------mbed之中断系统

#线上活动 #线上活动 2376 人阅读 | 0 人回复 | 2017-01-03

       mcu与外界的通讯是通过管脚进行的,输出对外部控制,输入作出响应。就像一个微型机器人一样。输入可以采用查询管脚的状态作出响应,但不断的查询会占用MCU核执行时间。中断可以解决这个问题。
mbed里提供了中断对象来处理中断事件。

LPC824lite板上有一个用户按键和8个用户LED。

按下user时,产生下降沿中断,执行完后返回。
  1. #include "mbed.h"

  2. DigitalOut myled(P0_28);
  3. DigitalOut myled1(P0_16);               
  4. InterruptIn userkey(P0_1);

  5. void Blink(){
  6.      while(1){
  7.      myled1 =!myled1 ;
  8.      wait(0.2);
  9.      int i=1;
  10.      i++;
  11.      if(i>10)
  12.      break;
  13.      }
  14.     }

  15. int main() {   
  16.     userkey.fall(&Blink);
  17.     while(1) {        
  18.         myled = 1;        
  19.         wait(0.2);         
  20.         myled = 0;        
  21.         wait(0.2);        
  22.     }
  23. }
复制代码
板上的丝印和图上不一致,板上的led7闪烁,对应图上的LED6。按下user键,进入中断,板上的LED3也就是图上的LED2闪烁10次后,返回到LED7闪烁。

评分

参与人数 1 +10 收起 理由
loveeeboard + 10

查看全部评分

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条