rtos中 i2c需要关中断吗

rtos中 i2c需要关中断吗,第1张

需要。

工作在中断和非中断模式在时序上是相同的,只不过在非中断模式下是通过检测ACK信号此埋来判断从设备响应了,在中断模式下是通过中断信号来判断从设备响应了,一般是读基迹主CPU侧的rtos控制器的中断搏扒并标志来判断的。

master发送slave地址后接收到ACK信号然后产生中断,slave接收到的数据是自己的地址时会产生中断。

热门频道

首页

博客

研修院

VIP

APP

问答

下载

社区

推荐频道

活动

招聘

专题

打开CSDN APP

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

arm

打开APP

ARM异常处理(2):中断的输入和挂起的6种情况分析 原创

2022-12-05 14:14:43

tilblackout

码龄6年

关注

本节将描述中断输入和挂起的分析,这也同样适用于NMI输入,NMI在大多数情况下都将立即执行,除非:已经在执行NMI中断处理程序、由调试器暂停或由于一些严重的系统错误导致芯片锁运高定。

1、

当一个中断输入时,它将被挂起,然后被置于等待处理器处理请求的状态,此时即使失能该中断源,挂起的中断最后仍会触发其相应的中断处理程序,而一旦中断处理程序开始宽正执行,该挂起状态将被自动清除。

在这里插入图片描述

2、

但是,如果挂起状态在处理器开始响应挂起中断之前被清除(例如,因为PRIMASK/FAULTMASK被设置为1,中断没有被立即执行,且挂起状态需要通过软件写NVIC中断控制寄存器来清除),此时中断是可以被取消的。

在这里插入图片描述

中断的挂起状态可以通过访问NVIC寄存器来读写,所以用户可以清除一个挂起的中断标志位或者用软件设置挂起寄存器以挂起一个新的中断。

3、

当处理器开始执行一个中断时,该中断的状态变为active,且挂起的位将被自动清除。同一个中断处理函数在处理的过程中不能嵌套,只有当异常退出(exception exit)将其active状态被清除后,才可以继续响应同一中断。

在这里插入图片描述

4、

如果中断源继续发送中断请求信号,中断将会在终端服务处理函数的最后被再次挂起。

在这里插入图片描述

5、

如果一个中断在被处理之前在中断请求线上产生了多个脉冲,它将被处理一次。

在这里插入图片描述

6、

如果一个中断的请求被取消,然后在中断服务程序中再次被触发,它将再次被挂起

在这里插入图片描述

总结:

即使中断被失能,挂起的中断仍然可能产生

被失能的挂起的中断在后面将其使能时仍然可以被触发

因此,在启用中断之前,检查是否设置了挂起寄存器是很有用的。中断源可能在你启用之前就已经被激活并设置了挂起状态。如果有必要,可以在启用中断之前清除挂起状态。

点击阅读全文

打开CSDN,阅读体验更佳

【RTOS】ARM Cortex-M异常处理过程

Cortex-M3与Cortex-M4 1. 处理器输入、输出和外设访问 一般来说,外设在使用前需要初始化,一般包括以下几步: 如果需要,设置时钟控制回路使能连接到外设和对应引脚的时钟。许多现代微控制器允许对时钟信号分布的精细调节,如使能/禁止到每个外设的时钟连接以节省功耗。外设时钟一般是默认关闭的,需要在编程外设前使能时钟。有些情况下,可能还需要使能外设总线系统的时钟。 有些情况下,可能还需要配置I/O引脚的 *** 作模式。大多数微控制器都有复用的I/O引脚,可用于多种目的。为了使用旁巧尺外设,配置I/O引脚以匹配

继续访问

ARM:ARM中断异常的处理流程

裸板开发中,使用的就是现在的框架: ……………………………………………………………… main (void) { // 一系列的初始化 while (1) { // 周期性的事物 } } ↓+↓ 异常处理 (异步事件的处理) ………………………

继续访问

ARM V8A体系结构-第十章 AArch64异常处理

概述 严格地说,中断是指中断软件执行的流程。然而,在ARM术语中,这通常称为异常。异常是指需要特权级(异常处理程序)执行某些 *** 作以确保系统顺利运行的条件或系统事件。每个异常都有一个相关的异常处理程序。一旦异常得到处理,特权级软件会将core恢复到处理异常前的位置,以继续处理它正在做的事情。 存在的异常类型如下: 中断: 有两种类型的中断称为IRQ和FIQ。FIQ的优先级高于IRQ。 ...

继续访问

最新发布 ARM异常处理(1):异常类型、优先级分组和异常向量表

Cortex-M3提供了一个功能丰富的异常体系结构,它支持很多系统异常和外部中断。异常编号1-15表示系统异常,16及以上表示外部中断输入。大多数异常具有可编程优先级,少数具有固定优先级。当前正在运行的异常可以通过特殊寄存器或者中的字段来查看。当一个使能的异常产生但不能被立即执行的时候(比如有一个更高优先级的中断服务程序正在处理),它会被挂起。

继续访问

ARM中断和异常

中断的定义:在CPU在执行一个程序时,对系统发生的某个事情,作出一种反应:CPU暂停正在执行的程序,保护现场后自动转去处理相应的事件,处理完该事情,到会返回刚才的位置。 例子:如读盘,盘有问题,无法读,产生中断,解决后,程序恢复,软件错误也会中断。 特点: 1) 中断随机的,提高实时性。 2) 中断是可恢复的 3) 中断是自动进行处理的 中断源

继续访问

ARM 之六 Cortex-M 内核中断/异常系统、中断优先级/嵌套 详解

问题 最近在使用STM32F3芯片的时候,遇到这样一个问题:如果外部中断来的频率足够快,上一个中断没有处理完成,新来的中断如何处理? 在调试时,发现有中断有 挂起、激活、失能等状态,考虑这些状态都是干啥用的呢!他们是Cortex-M核所共有的,因此这里不针对与具体用的STM32 MCU,直接上升到 Cortex-M内核来了解一下! 简介   中断(也称为“异常”)是微控制器一个很常见的特性。中断一......

继续访问

Linux *** 作系统原理与应用05:中断和异常

目录 1. 中断概述 1.1 什么是中断 1.2 为什么引入中断 1.3 中断的分类 1.4 CPU什么时候响应中断 2. 中断控制器简介 2.1 中断的C/S模型结构 2.2 作为中介的中断控制器 2.3 高级可编程中断控制器(APIC) 2.4 机制与策略分离的中断机制 3. Linux内核中断子系统框架 4. 中断向量与中断描述符表 4.1 中断向量 4.1.1 中断向量的概念 4.1.2 中断向量的分配 4.2 中断描述符表(IDT) 4.2.1 实模式中断向量表

继续访问

ARM 处理器 ~ 中断与异常

教材:嵌入式系统及应用,罗蕾、李允、陈丽蓉等,电子工业出版社 中断与异常定义ARM 中的工作模式除 User 和 System 外,均为异常模式,这里的异常是广义的,包含以下三类情况外部中断(外部中断)由于 CPU 外部的原因而改变程序执行流程,属于异步事件,可以屏蔽软件中断(自陷) 通过处理器拥有的软件指令,可预期地使正在执行的程序改变执行流程,以执行特定的程序 显式的事件,无条件执行 属同步事

继续访问

嵌入式-ARM-学习总结(7):按键与中断

嵌入式-ARM-学习总结(7):按键与中断一、按键1.S5PV210的按键2.按键的2中相应方法:轮询方式和中断方式3.按键对应的GPIO模式设置4.轮询方式处理按键的程序流程5.代码编写6.按键消抖二、中断1.什么是中断2.为什么需要中断3.异常向量表4.异常和中断的区别和联系5.为什么中断处理要先在汇编中进行6.中断的基本过程7.S5PV210中断处理的主要寄存器三、中断代码(1)绑定中断异常向量表(2)初始化中断控制器的基本寄存器(3)绑定我们写的isr到VICnVECTADDR寄存器(4)使能中断(

继续访问

异常和中断

一、异常和中断简介 中断一般由硬件(如外设和外部输入引脚)产生的事件,它会引起程序流偏离正常的流程(如给外设提供服务)。当外设或硬件需要处理器的服务时,一般会出现下面的流程: ①外设确认到处理器的中断请求。 ②处理器暂停当前执行的任务 ③处理器执行外设的ISR,若有必要可以选择由软件清除中断请求。 ④处理器继续执行之前暂停的任务。 所有的cortex-m处理器都会提供一个用于中断处理的嵌套向量中断控制器(NVIC)。除了中断请求,还有其他需要服务的事件,将其称为异常。按照ARM的说法,中断也是一种异常。co

继续访问

十.ARM裸机学习之中断系统2(S5PV210按键外部中断及中断处理)

一.轮询方式处理按键 参考 E:\Linux\8.key_open 二.中断方式处理按键 2017/11/21 23:30 参考:http://blog.csdn.net/u010479322/article/details/51447181 http://blog.51cto.com/9291927/1787523 1.异常向量表分析: (1)、复位(

继续访问

ARM之按键K2触发中断,并在超级终端上打印‘S‘

ARM之按键K2触发中断,并在超级终端上打印'S'

继续访问

嵌入式RTOS---异常和中断处理流程

ARM中断体系 以S3C2440讲解 1 中断体系硬件原理 中断处理分为统一的中断处理和独立的中断处理; 1.1 统一的异常和中断处理 1.1.1 ARM的异常模式 所谓异常,指的是中止了程序正常的执行过程而不得不完成一些特殊的工作(异常工作)。 中断也是一种异常,中断包括由外部硬件产生的外部中断和内部硬件产生的内部中断。 异常分为同步异常(SWI 软件指令产生的异常)和异步异...

继续访问

ARM V8 程序指南—— 第十章 AArch64 异常处理(翻译)

第十章 AArch64 异常处理 严格来说,中断是说软件执行流程的东西,但是,在arm术语中,统称为异常。异常是需要特权软件(异常处理程序)执行某些 *** 作以确保系统顺利运行的条件或系统事件。每种异常类型都有一个异常处理程序。一旦处理完异常,特权软件就会让内核准备好恢复它在处理异常之前所做的任何事情。 下面介绍了几种异常: Interrupt: 一般有两种,分为irq 和 fiq。fiq的优先级高于IRQ,这两种异常通常都与内核上的输入引脚相关。假设中断未被禁用,外部硬件断言了一个中断请求并在当前指令完成执行时

继续访问

ARM 之十二 Cortex-M 内核异常处理、异常定位方法、在线调试、Keil MDK-ARM 的使用

  在 ARM 平台上开发,开发工具的选择其实并不是很多,基本可以分为三大类:Keil MDK-ARM、IAR for ARM、GCC for ARM 系,其中用的比较多的基本就是 Keil MDK-ARM、IAR for ARM 这俩。而 GCC for ARM 系的 IDE 有很多,但是他们统一都是使用 GCC for ARM 作为编译器构建套件,IDE 都是各家自定义的。例如,ST 有、SEGGER 有 Embedded Studio。 构建(Build)   从源文件到可执行文件,需要经过预处理、编

继续访问

【Linux】ARM篇八--中断实验

ARM篇8--中断实验一、前言二、准备工作三、CPU与硬件的交互方式四、轮询方式实现按键实验1、电路原图2、按键的实现五、RAM中断实现原理六、GPIO中断1、GPX1CON2、EXT_INT41CON寄存器3、EXT_INT41_MASK寄存器七、中断控制器1、ICDDCR寄存器2、ICDISER寄存器3、ICDIPTR寄存器八、中断的实现1、ICCIAR寄存器2、EXT_INT41_PEND寄存器3、ICCEOIR寄存器九、完整代码与烧入1、中断完整代码2、程序烧入步骤十、实验现象1、轮询按键实验现象.

继续访问

【ARM】arm异常中断处理知识点

ARM处理器7种类型异常 按优先级从高到低的排列如下: 复位异常(Reset) 数据异常(Date Abort) 快速中断异常(FIQ) 外部中断异常(IRQ) 预取异常(Prefetch Abort) 软件中断异常(SWI) 未定义指令异常(Underfined instruction) 当异常发生时 处理器会把...

继续访问

arm裸机的按键设置和中断

按键的物理特性 **(1)、平时没人按的时候,d簧把按键按钮d开。此时内部断开的。 (2)、有人按下的时候,手的力量克服d簧的d力,将按钮按下,此时内部保持接通(闭合)状态;如果手拿开,则d簧作用下按钮又d开,同时内部又断开。 (3)、一般的按键都有4个引脚,这4个引脚成2对:其中一对是常开触点(像上面描述的不按则断开,按下则闭合);一对是常闭触点(平时不按时是闭合的,按下后是断开的)** 按键的电学原理(结合原理图分析) **(1)硬件接法: SW5:GPH0_2 SW6:GPH0_3 SW78

继续访问

ARM接口实验—中断实验

ARM—中断实验

继续访问

【ARM】中断控制 ——第六篇

中断可以理解为当系统出现了意外情况,可以自动停止当前正在执行的程序,并转入执行新情况的程序中进行执行,处理完后会回到原被暂停的程序继续执行。

继续访问

arm

写评论

评论

收藏

点赞

分享

打开CSDN APP阅读体验更佳


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12357511.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存