如何编写中断函数(必备)

本文介绍了嵌入式开发中模块化编程的重要性,以中断请求为例,详细讲解了如何开启中断、编写中断函数,以及利用异或操作实现独立按键控制灯的亮灭,简化代码结构。
摘要由CSDN通过智能技术生成

一、模块化编程

在嵌入式开发中模块化编程是必备的,例如、

也就是说在编写中断函数时,进行模块化会简化编程,模块化编程思路。

二、中断请求

下面进行编写具体中断函数

以外部中断0和1来举例,我们依次需要打开的开关为IT0,EX0,IT1,EX1,EA.(中断优先级改不变改变都可以)

只要让电路导通就会有中断请求的产生,从而进入到中断中去。

三、头文件

 

以固定格式把函数放入,再在主函数中引入,就可以使用了

四、主函数

将外设关闭后,再进行初始化,一直空循环不对中断产生影响。

五、中断函数

假如,我们要实现独立按键S4S5分别控制两个灯的亮灭

有两种思路一是传统思路,判断灯的两位是否亮或者灭,再进行翻转

可是这样写就会写的冗杂

所以我们就必须用到异或!(^)

是一个非常“神奇”的功能

我们以1010 1010举例,异或1000 0000

得到0010 1010,也就是说,异或0是不变的,异或1是翻转的

我们就可以对于所需位置放1进行翻转,然后就可以实现灯的亮灭了。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值