中断处理函数的注意事项

发布者:RadiantGaze最新更新时间:2018-11-27 来源: eefocus关键字:中断处理函数  注意事项 手机看文章 扫描二维码
随时随地手机看文章

中断又叫异步中断,由硬件触发。而异常又称为同步中断,由软件触发。


中断服务程序(中断处理函数)是一种处理中断响应的函数,它是一种遵循特定原型声明的C函数,它运行在中断上下文中,也称为原子上下文,代码运行在此上下文中是不能被阻塞的。中断服务程序必须运行非常快,它最基本的工作就是告诉硬件已经收到了它发出的中断,但通常还执行大量其他的工作。为此,一般中断服务程序分为两半,一半是中数据恢复处理函数,称为上半部,它只执行那些可以很快执行的代码,如向硬件确认已经收到中断号等,其他的工作要延迟到下半部去执行。


执行在中断上下文中的代码需要注意的一些事项:


  • 中断上下文中的代码不能进入休眠。比如ssleep(), msleep(),kmalloc,copy_to_user(),copy_from_user()等。


  • 不能使用mutex,只能使用自旋锁,且仅当必须时。


  • 中断处理函数不能直接与用户空间进行数据交换。


  • 中断处理程序应该尽快结束。


  • 中断处理程序不需要是可重入的,因为相同的中断处理函数不能同时在多个处理器上运行。


  • 中断处理程序可能被一个优先级更高的中断处理程序所中断。为了避免这种情况,可以要求内核将中断处理程序标记为一个快速中断处理程序(将本地CPU上的所有中断禁用),不过在采取这个动作前要慎重考虑对系统的影响。


关键字:中断处理函数  注意事项 引用地址:中断处理函数的注意事项

上一篇:中断的作用
下一篇:中断实现的基本原理

推荐阅读最新更新时间:2024-03-16 16:18

示波器测量电源纹波时的注意事项
纹波是电源的核心指标,但如何准确测量纹波确实一个被广泛忽略的问题。也许您认为不就是示波器交流耦合,然后把探头点在电源上嘛?事实远非如此,本文为您呈现纹波测试的正确方式。 探头的选择 在十几年前,很多公司的电源测试标准中都有明确的规定,要求使用1:1 探头进行测量。因为这种探头不会损失示波器的测量档位,比如示波器原来最小档位是2mv/div,使用1:1探头就仍然可以通过这个档位测量纹波,即可以准确测量出10mv以内的纹波。但是由于这种探头的带宽只能做到6MHz左右,所以随着开关电源频率的提升,这种探头便不再适合使用。 目前常用的电源测量探头是10:1无源探头、100:1无源探头、高压差分探头。探头的选择上首先要考虑电压范
[测试测量]
示波器测量电源纹波时的<font color='red'>注意事项</font>
sim900a调试方法和注意事项
  MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。MSP430单片机称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。   SIM900A模块是一款尺寸紧凑的GSM/GPRS模块,采用SMT封装,基于STE的单芯片案,采用ARM926EJ-S架构,性能强大,可以内置客户应用程序。可广泛应用于车载跟踪、车队管理、无线POS、手持PDA、智能抄表与电力监控等众
[单片机]
sim900a调试方法和<font color='red'>注意事项</font>
动态电源路径管理的高效开关模式充电器系统设计注意事项
随着诸如平板电脑和智能手机等便携式设备的迅速增长和不断涌现,要想实施电池管理以达到更高的电池供电系统性能,变得越来越困难。电池管理系统必须拥有一定的智能,以支持各种适配器类型和电池化学物质,并提高电池充电效率。与此同时,提供良好的用户体验也越来越重要,例如:系统快速开机、长电池使用时间和快速充电等。本文将讨论如何利用输入电流和输入电压型动态电源管理 (DPM) 控制来提高电池充电性能,以防止系统崩溃以及最大化适配器有效功率,并为您说明延长电池工作时间的一些重要设计考虑因素。 引言 终端用户对于快速充电和高效充电的需求日益增长。锂离子 (Li-Ion) 电池是一种理想的选择,因为其拥有非常高的能量密度。这种电池具有高充电电流
[电源管理]
动态电源路径管理的高效开关模式充电器系统设计<font color='red'>注意事项</font>
温度传感器DS1820使用中注意事项
  DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:   (1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。由于本节技术复杂性,对一般读者DS18B20内容只作阅读。   (2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,
[单片机]
示波器使用中常见故障及注意事项
示波器是一种用途十分广泛的测量仪器。它能把肉眼看不见的电信号变换成看得见的图像,便于人们研究各种电现象的变化过程。示波器利用狭窄的、由高速电子组成的电子束,打在涂有荧光物质的屏面上,就可产生细小的光点(这是传统的模拟示波器的工作原理)。因此示波器被誉为工程师的眼睛;那么示波器使用中常见的故障以及注意事项有哪些呢?下面分享示波器使用中的典型故障以及处理方法: 一、示波器故障造成的不开机 示波器内部有独立的电源模块为主板和各功能模块供电,故需着重关注用电安全。 使用中需注意的问题: 1、使用示波器原装电源线; 2、确认电网稳定。当电网中有大功率电器接入时,先关闭示波器,拔下电源线,待电网稳定后再使用; 3、开机时:先插上ac电源
[测试测量]
蒸汽电磁阀的维护保养_蒸汽电磁阀的维护注意事项
  蒸汽电磁阀的维护保养   1、应定期清洗高温蒸汽电磁阀内外及衔吸合面的污物,注意不要损坏密封面。   2、高温蒸汽电磁阀安装后需通入介质实验动作数次,确认正常后方可投入正式使用。   3、使用时间较长时,如活塞与阀座间密封不好,可将活塞密封面重新磨平,再和阀座研磨。   4、高温蒸汽电磁阀较长时间不用时,应关闭阀前手动阀,重新启用时,蒸汽电磁阀应将冷凝水排除干净,并作试动作数次,待开关正常后方可投入使用。   5、高温蒸汽电磁阀从管路上卸下不用时,应将内部及零件拭净并用压缩空气吹净储存。   6、建议使用单位派专人负责使用保养。   7、工作时,要注意阀门前后压力表,要求工作压力不得超过额定压力,工作压差必须在额定压差范围内。
[嵌入式]
电感表使用方法及注意事项
电感表测量的基本原理是恒流源法。由于运放及外围元件组成一定频率的交流恒流源,然后测量串联在这一恒流源电路中电感两端的电压,从而得出电感的感抗,即间接测出电感的电感量。 电感表的校准 电感表调零后,在电感插座中插入标准电感,例如在20pμh挡接入18μh电感,调整电阻r5,使显示l8μh即可,然后再用同样方法校准其他各挡。由于20μh挡电流较大,约4ma,已达运放输出极限,本电阻与其他各挡电阻相比要小些。其余4挡电阻基本上为10倍率的关系。其他各挡依此类推。 电感表测量带直流电阻、寄生的电感的注意事项: 由于电感有直流电阻、寄生电容,本电感表测量的是总阻抗,因而当电感的寄生电容、直流电阻过大时。测量误差也会较大。为减少寄生电
[测试测量]
电容降压电路原理及注意事项
之所以电容降压电路在一些廉价电器中见到,就是因为这种电路相对于变压器降压和开关电源供电方式成本要低廉得多。可以说成本低廉是这种降压供电方式的唯一优点;它的缺点很多,比如输出电流小、电压随负载变化波动大、由于与市电直通,非常不安全等,因此这种降压方式应用范围有限,只能用在输出电流很小,并且人不易触摸到的场合。   电容降压的原理是利用电容在一定的交流信号频率下产生的容抗来限制最大工作电流,即通过限流后终端负载拉低了输出电压,电容器实际上起到一个限制电流和动态分配电容器与负载两端电压的角色。例如,我国的市电是220V/50Hz,一只1μF的电容容抗约为Xc=(2mfC)=1/(2×3.14×501×10-6)=3180Ω。将220V的交
[电源管理]
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved