micropython运行机制_Micropython之外部中断

本文介绍了微控制器外部中断的重要性和工作原理,通过实例讲解了如何在Micropython中设置和处理外部中断,强调了中断服务程序应保持简洁,通常用于更改变量或标志位,而非执行大量代码。
摘要由CSDN通过智能技术生成

外部中断是微控制器的另一个重要的硬件资源。

微控制器在程序运行过程中,一般是在一个主循环(死循环)中进行,主要的程序,都在这个大循环中定义,包括函数的调用等。在没有外界干预的情况下,程序运行基本处于一个封闭状态。上次课我们讲到定时器,这是微控制器内部打断主循环的一个机制,但是从微控制外部来看的话,微控制器还是一个封闭的运行环境。但是往往这种情况是不能满足更多的任务操作需求的,所以就有了微控制器的外部中断,我们可以通过外部的一些操作,来打断微控制器的主循环程序,转向执行中断程序。就像是人一样,一个人自嗨,不和外界交流,那么这个人只能服务于自己,而不能服务于别人。所以,外部中断这个资源就显得至关重要了。

具体实现方式,外部中断就是在微控制器的一个引脚上,由于外部原因导致了电平发生了变化,比如电平由高到低(我们称之为下降沿),或者由低到高(我们称之为上升沿),或者高电平、低电平等。微控制器通过硬件感受到这个变化,微控制器自打断主循环的程序,转而去执行相应的中断处理程序,执行完后又回到原来主循环程序打断的地方继续执行原来的程序。而这个过程是很短暂的,在外界看来,基本上感觉不到程序的跳转。所以在这里,就需要注意一点了,在中断服务程序中,程序不能太多,比如在中断程序中延时了200ms,这是不允许的。一般我们在中断服务程序中,只对一些变量进行改变,或者对一些标志位置位。然后在主循环中通过查询标志位,去执行代码量更多的操作。

本次课,我们使用到了一个编码电机,参考购买链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值