C语言学习-中断管理总结 2020-3-1

1.异常与中断的概念:

异常:CPU处理器内部运行状态出现紧急状况,需要CPU去处理。例如:硬件错误,指令出错等异常,属于同步异常。

中断:CPU处理器外部运行状态出现紧急状况,需要CPU去处理。例如:外设请求中断以及外部事件输入导致的中断,属于异步异常。

异常与中断的区别:导致异常的事件来源不同,一个是内部事件,一个是外部事件;另一方面,同步异常产生后,处理器必须立马响应,而异步异常产生后,处理器可以选择延缓处理或者不处理。

中断:中断其实就是CPU的常规执行流程被事件打断,迫使CPU进入紧急状态,去处理紧急事件。就像一个国家,正常情况下,人民解放军都在各个省市执行安保工作,突然进入战时紧急备战状态时,那么人民军队全被调集去应对战时紧急状况。

与中断相关的硬件可以分为三个部分:外设,中断管理控制器,CPU,这三者的关系为:外设产生中断,中断控制器对产生的中断进行管理并上报CPU,CPU处理中断。

2.和中断相关的名词解释:

中断号:在Cortex-M系列单片机中,每个中断请求信号都有一个特定的标记,使得CPU能够立马判断出来,是哪个设备发生了中断,这个标志就是所谓的“中断号”。

中断向量:所谓的中断向量就是指,中断服务例程的入口地址。

中断向量表:中断向量表用来存储中断向量的一块内存区域,中断向量与中断号一一对应,中断向量按照中断号在中断向量表中顺序存储。

中断优先级:系统根据事件的重要性和紧急性,将中断源分为若干个不同的级别。

中断延时:是指从硬件发生中断到执行中断服务例程的第一条指令之间的这段时间。

原文地址:https://www.cnblogs.com/bosswjl/p/12393256.html

时间: 2024-10-09 14:04:03

C语言学习-中断管理总结 2020-3-1的相关文章

C++语言学习(二十)——自定义内存管理

C++语言学习(二十)--自定义内存管理 一.统计类对象中成员变量的访问次数 mutable是为了突破const函数的限制而设计的,mutable修饰的成员变量将永远处于可改变的状态.mutable成员变量破坏了只读对象的内部状态,而const成员函数保证只读对象的状态不变性,因此mutable成员变量无法保证只读对象状态的不变性. #include <iostream> using namespace std; class Test { public: Test():m_count(0) {

关于c语言学习 谭浩强的书

2007-11-16 13:22:58|  分类: PROGRAMME |  标签: |举报 |字号大中小 订阅 广大有志于从事IT行业的同志们,在你们进入这一行之前千万请看这篇文章!太经典了!对你绝对有启发! 千万别买谭浩强和等级考试的书!!!!!! 整理别人的言论,请大家踊跃讨论!!!!!!!!!!!! 1:书皮上面有那么多的牛人题词,估计也许是自己的水平太低. 2:ANSI只给了两种方式:int main(void) {/*...*/}和 int main(int argc, char *

Swift语言的内存管理哦,还等什么?点进来!

//*********Swift语言的内存管理基础************* //内存管理:针对的是实例的内存占用的管理(放在堆里面) //实例:1,由class类型构建的实例 2.闭包对象 /* 内存管理技术:ARC:Automatic Reference Count 自动:由于语言本身帮我们管理内存,不需要我们手机去管理 比如在c中就调用dealloc() 引用:let p = Person() p就是对Person()这个对象的一个引用 计数: let p = Person()   +1

Go语言学习笔记(一) : 搭建Windows下的Go开发环境

最近突然对Go语言产生了兴趣,主要是因为在使用python的时候遇到了一些不爽的问题,然后发现了Go.Go是Google出的一个动态语言,语法和C++接近,性能也非常的好,而且还支持编译成exe发布,并且不依赖任何虚拟机(其实是打包在exe里面了),这种好语言怎么能够错过?所以便一时兴起,开始学习了起来.由于本人还处于异常小白的阶段,所以文章中可能不免有些错误,欢迎大家各种指正. 安装Go 前往Go语言的官方网站:http://golang.org/, 下载对应平台的安装包.如果是x86的系统可

R语言学习笔记

參考:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environment for Data Analysis and Graphics,2003. http://bayes.math.montana.edu/Rweb/Rnotes/R.html 前言:关于R 在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data

【C语言学习】链接

一个工程由许多的文件组成,当工程中的多个文件编译结束后就需要由链接器将这些模块链接起来成为一个整体的可执行程序.但是,在这个链接过程中,如果出现一些状况的时候就不能将这些模块链接成一个程序.接下来,研究一下这个链接的过程! ★链接多个文件 为了使程序的模块化更强,代码更易于管理,可以将同类型的代码存储在一个文件中.这时,每个文件代表着一类函数的代码,这些代码使用同样的资源,完成同样的操作.这与Java中的类.对象.方法想.很类似.在一个文件中,很可能需要引用另一文件中定义的全局变量或者函数,因此

C++语言学习(四)——类与对象

C++语言学习(四)--类与对象 一.构造函数(constructor) 1.构造函数简介 C++语言中,构造函数是与类名相同的特殊成员函数.在类对象创建时,自动调用构造函数,完成类对象的初始化.类对象本身是变量,在栈.堆上创建的对象,对象的成员初始化为随机值:在静态存储区创建的对象,对象的成员初始化为0. 2.构造函数的定义 构造函数声明的语法如下:classname(parameters);没有参数的构造函数称为无参构造函数.当类中没有定义构造函数(包括拷贝构造函数)时,编译器默认提供一个无

C++语言学习(十七)——模板

C++语言学习(十七)--模板 一.模板简介 泛型(Generic Programming)即是指具有在多种数据类型上皆可操作的含意. 泛型编程的代表作品STL是一种高效.泛型.可交互操作的软件组件.泛型编程最初诞生于C++中,目的是为了实现C++的STL(标准模板库).其语言支持机制就是模板(Templates).模板的核心思想是参数化类型,即把一个原本特定于某个类型的算法或类当中的类型信息抽掉,抽出来做成模板参数T. 二.函数模板 1.宏实现交换函数 定义一个交换两个数的宏 #define

C语言学习书籍推荐《C Primer Plus(中文版)(第5版)》下载

普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表达式.流程控制语句.函数.数组和指针.字符串操作.内存管理.位操作等,知识内容都针对C99标准:另外,<C Primer Plus(中文版)(第5版)>强化了对指针的讨论,并引入了动态内存分配的概念,也讨论了C预处理器和C库函数.高级数据表示(数据结构)方面的内容. 下载地址:点我 编辑推荐 作为