interrupt相关内容

在 ARM cortex A-9 的 U-boot 中启用中断

我正在尝试在 uboot 中配置 GPIO 中断,这是为了在没有任何操作系统干预(裸机)的情况下测试中断响应时间.我能够配置引脚复用,并成功地使用 GPIO 引脚设置中断. 我的问题是关于中断服务程序的注册.我看到我的平台的中断向量表位于地址 0xFFFF0000(我阅读了系统控制寄存器以找出这一点).GPIO 的中断 ID 是 56,我只是计算了我的中断服务例程应该驻留的地址,然后尝试使用 ..
发布时间:2021-11-17 21:43:48 其他开发

Linux内核ARM异常栈init

我在 Freescale i.MX6 (ARM Cortex-A9) 上使用 Linux 内核 3.0.35.在遇到内核 OOPS 后,我试图了解异常堆栈初始化.以下是我目前所发现的. 在 arch/arm/kernel/setup.c 的 cpu_init() 中,我看到异常堆栈正在初始化: 结构栈{u32 中断 [3];u32 abt[3];u32 和 [3];____cachelin ..
发布时间:2021-11-17 21:37:59 其他开发

FIQ和IRQ中断系统有什么区别?

我想知道FIQ和IRQ中断系统在任何微处理器,例如:ARM926EJ. 解决方案 现代 ARM CPU(和其他一些 CPU)的一个特性. 来自专利: 一种快速执行的方法数字数据处理器中的中断有能力处理更多提供的中断不止一个.当一个收到快速中断请求标志被设置并且程序计数器和条件代码寄存器是存储在堆栈中.在结束时中断服务程序返回从中断指令检索条件码寄存器包含数字的状态数据处理器并检 ..
发布时间:2021-11-17 21:37:38 其他开发

在 mac 上编译时未在范围内声明 nullptr

我正在尝试使用“又一个 PCnt 库" 用于在我的 Arduino mega 2560 上启用引脚更改中断.在 Arduino IDE 中,代码在 Windows 上编译良好,但在 mac 上失败.它给出了一个错误代码说明: nullptr 未在此范围内声明attachInterrupt(pin, (callback)func, nullptr, mode, trigger_now);^ 我 ..
发布时间:2021-11-17 03:56:15 C/C++开发

Arduino 的时钟(毫秒)是否在中断期间继续在后台计数?

我有一个简单的问题,从我读过的内容来看,显然没有在网上说:我知道 Arduino 上的 millis() 在自定义中断期间不会改变,但是 相关的计时器是否仍然计数背景? 我的程序对时间敏感,我想知道我是否应该在每次处理一个中断时增加它的值(如何?),以便主程序的时钟不会漂移. 提前致谢,问候,神秘先生 解决方案 即使中断被禁用,CPU 内部计时器也会计数.但是 当定时器溢出时会 ..
发布时间:2021-11-17 03:54:09 其他开发

在 C++11 中模拟类似 Arduino 的中断

我正在开发一个粗略的 Arduino 模拟器.它的主要功能应该是测试由控制结构、循环、开关和子程序组成的简单代码. 我的主要想法是简单地自己提供Arduino库的功能,例如像 digitalWrite() 或 digitalRead() 这样的函数,它们会读取和发送外部应用程序(如虚拟面包板)之间的引脚状态. 下图显示了我目前的概念.模拟器基本上是一个线程执行一次 setup() 函数 ..
发布时间:2021-11-17 03:52:29 C/C++开发

中断是否会中断 Arduino 上的其他中断?

我有一个 Arduino Uno(很棒的小设备!).它有两个中断;我们称它们为 0 和 1.我使用 attachInterrupt() 将一个处理程序附加到中断 0,将另一个处理程序附加到中断 1:http://www.arduino.cc/en/Reference/AttachInterrupt. 中断 0 被触发并调用其处理程序,该处理程序执行一些数字运算.如果中断 0 的处理程序在中断 ..

Arduino 中断替代方案

从我读到的内容来看,我的问题的解决方案是使用中断,但如果我理解正确,我就不能在被中断调用的例程中使用延迟.我有一个大按钮 LED 开关.我希望它在闲置时也有心跳,但一旦它被推动,就保持绿色并执行代码. 如果我按下按钮的次数足够多,我可以打破 heartbeat()(我假设在完成 heartbeat),但我一直在想如何让它在第一次点击时工作.有没有其他方法可以做我正在尝试的事情? void ..
发布时间:2021-11-17 03:39:09 其他开发

不能在库中使用 attachInterrupt

我正在为超声波距离传感器编写一个简单的库,并想尝试使用中断. 但是我无法在 attachCallback 方法中正确设置我的函数. 我希望 HCSR04Interrupt::echoHigh() 和 HCSR04Interrupt::echoLow() 在引脚分别变为高电平和低电平时调用. 我已经用谷歌搜索了无济于事.Ardiuno IDE 说明如下: ./Arduino/li ..
发布时间:2021-11-17 03:38:36 其他开发

Arduino 串行中断

我正在研究 Arduino Mega 2560 项目.在 Windows 7 PC 上,我使用的是 Arduino1.0 IDE.我需要建立一个波特率为 115200 的串行蓝牙通信.我需要在 RX 有数据时接收中断.我见过的每段代码都使用“轮询",即在 Arduino 的循环中放置一个 Serial.available 条件.我如何在 Arduino 的循环中为中断及其服务程序替换这种方法?似乎 ..

C++ 递减单字节(易失性)数组的元素不是原子的!为什么?(另外:我如何在 Atmel AVR mcus/Arduino 中强制原子性)

我只是浪费了几天,实际上是大约 25 小时的工作,因为我试图通过一些我不知道的简单事情来调试我的代码. 事实证明,在 AVR ATmega328 8 位微控制器 (Arduino) 上,在 C++ 中递减单字节数组的元素不是原子操作,并且需要原子访问保护(即关闭中断).为什么是这样???此外,确保原子访问 Atmel AVR 微控制器上的变量的所有 C 技术是什么? 这是我所做的简化版 ..
发布时间:2021-11-17 03:35:04 C/C++开发

中断 10h 不起作用

我在下面的程序中遇到分段错误. 这是用于设置屏幕左上角的光标.但是为什么我在这个程序上遇到分段错误?感谢您的回复. section .text全球主要主要的:动啊,2mov bh, 1移动 dh, 0移动 dl, 0整数 10 小时 我认为问题在于我正在使用的保护模式.这是一条 16 位指令,我正在 32 位机器上尝试!我说得对吗? 我在 32 位 Linux Ubuntu 发行版中运 ..
发布时间:2021-11-17 03:02:51 其他开发

处理器处理中断的速度有多快

我正在研究中断.所以大多数架构都是中断驱动的,如果一切都是中断驱动的,处理器处理所有这些的速度有多快.例如,当按下键盘上的某个键时,它会创建一个中断,要求内核寻找新字符的缓冲区,在这种情况下,处理器可以提供多快的服务,并且在放置中断时,处理器需要切换到内核空间,这在上下文切换方面成本很高.所以我假设,即使在所有这些之后,如果处理器具有良好的性能,那么我只能假设两次击键之间的时间就计算机速度而言是很 ..

DMA 与中断驱动的 I/O

我有点不清楚 DMA 和中断 I/O 之间的区别.(目前正在阅读操作系统概念,第 7 版). 具体来说,我不确定在这两种情况下中断何时发生,以及在两种情况下 CPU 可以自由做其他工作的时间点.我一直在读的东西,但不一定能调和: 中断驱动 控制器通过驱动程序初始化 控制器检查驱动程序加载的寄存器以决定操作 与外围设备和控制器缓冲区之间的数据传输随之而来. 控制器在以下时间发 ..
发布时间:2021-11-17 01:42:59 其他开发

当cpu写入特定地址时,是否可以设置中断?

是否可以在写入特定地址时使 x86 cpu 中断? 我想要一个硬件机制来监控一些地址的变化. 解决方案 我想知道是否可以在写入特定地址时使x86 cpu中断?? 这是可能的. 您可以将调试寄存器之一(DR0 到 DR4)设置为要监视的地址,然后在 DR7 作为“全局断点,仅在数据写入时中断,1 字节大小".一旦完成,该 CPU 完成的任何正常数据写入都将触发调试异常( ..
发布时间:2021-09-29 19:35:07 其他开发

stm8 uart tx中断问题

我正在通过中断将 STM8S103F3 编程到 UART 上的 TX.我了解在“传输数据寄存器空中断"后写入 DR将启动另一个 TX,所以我在 ISR 中有这个.但它只有在我的主循环旋转等待中断时才有效.如果它在 nop 上旋转,则只发送第一个字符 - 好像在 ISR 中写入 DR 不会产生后续中断. 使用 SDCC 编译器. sdcc -mstm8 -o build\uart.hex ..
发布时间:2021-09-12 18:53:53 其他开发

libuv 和 Node.js 实际上是如何调度计时器的?

在 Node.js 中,libuv 和操作系统实际上是如何调度像 setTimeout 和 setInterval 这样的定时器的?我看到节点进程没有使用 CPU,直到计时器触发.这是否意味着操作系统会调度计时器,并在计时器被触发时唤醒 Node 进程?如果是这样,操作系统如何调度计时器以及硬件究竟如何执行它? 解决方案 定时器回调作为 NodeJS 事件循环的一部分执行.当您调用 set ..
发布时间:2021-09-07 20:17:37 其他开发

如何实现/设置数据断点?

要求: 当内存位置更改或写入时,我需要生成中断.从 ISR 中,我可以触发蓝屏,它为我提供了带有方法名称的漂亮堆栈跟踪. 方法: 测试计时器 ISR 中的值.显然,这不会产生令人满意的结果. 我发现了 bochs 虚拟机.它有一个基本的内置调试器,可以设置数据断点并停止程序.但那时我似乎无法产生中断. bochs 允许将 gdb 连接到它.不过,我无法在 gdb 支持下构建它 ..
发布时间:2021-06-02 19:34:03 其他开发

如何用软件中断C中的运行功能?

我想在函数运行时生成中断,然后希望CPU执行某些特定的ISR,完成ISR后,该函数将恢复执行.我正在使用Windows XP和MinGW编译器. 解决方案 实际上没有硬件,我想首先以某种方式生成中断,然后稍后再处理,我将在实际硬件上进行处理 真正的硬件中断将切换CPU引脚之一,并将其​​分配给ISR.我想不出任何真正透明的方式来模仿它. 一种暂停当前正在运行的功能的方法可能 ..
发布时间:2021-05-16 19:49:41 其他开发

线程interrupt()不中断线程

由于某种原因,当遍历线程列表并中断所有线程时,它们都不执行带有InterruptedException的catch块. 在以下存储库中: https://github.com/ranisalt/LiuThread 我有两个线程,每个线程都有执行器服务,其中一个线程拥有读者,另一个线程则是作家.编写器应每100毫秒产生一次,写入缓冲区,然后退出/停止/无论什么都不要再次写入.读者是4个尝 ..
发布时间:2021-05-16 19:49:38 Java开发