嵌入式中断函数设计

常用中断

外部管脚中断

  即使用GPIO管脚作为中断源,连接外设,通过外设拉高或者拉低管脚,触发外部管脚中断;

定时器中断

  即使用MCU内置的Timer,通过给Timer配置定时周期,周期性的触发中断;

通信接口中断

  即MCU内置的通信模块,例如SPI、UART通信,当MCU作为从方,外设作为主方对MCU发起通信时,触发MCU通信接收中断。

中断设计原则

中断优先级

  在一个项目中,需要将所有的中断罗列出来,根据各中断功能的重要程度,即实时性,设计优先级大小。
  【例】对外通信接口一般来说优先级是最高的,需要软件以最快速度响应外部命令,是不允许被打断的。如果通信接口中断在接收的过程中被打断,转而执行其它耗时更久的事务,可能会导致命令的接收出现丢数据或其它异常。

中断函数执行负载

  中断响应函数一般来说强调小而精,不应把大量计算或者耗时操作在中断函数中执行,仅执行必要且必须的逻辑操作。如果中断函数执行时间较长,可能对程序整体的运行造成致命的影响。
  【例】在项目中存在一个定时器中断,定时周期为10ms,中断响应函数中进行了一个复杂的矩阵运算。如果该矩阵运算单次执行耗时8ms,那么对程序整体而言,有大于等于80%的负载开销在了定时器中断上了,导致定时器中断外的其它程序逻辑没有更多的MCU计算资源࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值