中断未正确响应(pigpio)

问题描述 投票:0回答:1

我正在使用 JavaScriptpigpio 模块开发 Raspberry pi-4,我发现了 interrupt

的问题
  1. 如果你开始中断(通过exp按钮)它将开始一个代码,但是如果新的中断到来,在第一个中断的代码结束之前什么都不会发生(为什么中断对他自己调用的代码没有优先级!?
  2. 如果主代码中存在 while 循环(无限循环:如 while (1) ),则中断将不再起作用!

据我所知,IRQ中断对代码中的每件事都有优先权。但这并没有发生!

const Gpio = require('pigpio').Gpio;
var i =0 ;

const button = new Gpio(15, {
  mode: Gpio.INPUT,
  pullUpDown: Gpio.PUD_DOWN,
  edge: Gpio.FALLING_EDGE});

button.on('interrupt', (level) => {
  console.log(i+=1)
  rpio.sleep(5)});

// while(1){}

javascript raspberry-pi interrupt interruption pigpio
1个回答
0
投票

我想我发现了错误,希望还不算太晚。 你应该小心

/boot/config.txt
。您应该检查
dtoverlay=gpio-no-irq
行是否没有或已被注释掉。 如果您将其放入尝试使用 rpio 库,则应该将其删除。

© www.soinside.com 2019 - 2024. All rights reserved.