You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pigpio库在树莓派4上配置简单ISR时遇问题

树莓派4 pigpio ISR问题修复方案

错误1:未启动daemon时gpioSetISRFunc返回-123

  • 原因:gpioSetISRFunc是pigpio daemon客户端专属接口,直接链接pigpio本地库(不启动daemon)时无法调用该函数。
  • 修复:
    • 方案1:切换到daemon模式(先启动pigpiod)使用该接口;
    • 方案2:本地模式下改用gpioSetAlertFunc替代gpioSetISRFunc实现中断回调,该函数支持直接调用pigpio库的场景。

错误2:启动daemon后gpioInitialise失败,提示无法锁定/var/run/pigpio.pid

  • 原因:系统中已有pigpiod进程在运行,或残留的pid文件导致新进程无法获取锁。
  • 修复步骤:
    1. 检查现有pigpiod进程:ps aux | grep pigpiod
    2. 杀掉所有pigpiod进程:sudo killall pigpiod
    3. 手动删除残留pid文件:sudo rm /var/run/pigpio.pid
    4. 重新启动daemon:sudo pigpiod

错误3:删除pid文件后出现端口占用问题

  • 原因:pigpiod默认占用8888端口,之前的daemon进程未彻底终止,仍在占用端口资源。
  • 修复步骤:
    1. 查询8888端口占用进程:sudo lsof -i :8888
    2. 根据输出中的PID杀掉对应进程:sudo kill -9 <PID>(将<PID>替换为实际进程ID)
    3. 重新启动pigpiod daemon:sudo pigpiod

额外注意事项

  • 始终用sudo权限运行pigpio相关程序和daemon,避免权限不足问题;
  • 若更换GPIO端口无效,可尝试重启树莓派后再测试,排除硬件临时异常。

内容的提问来源于stack exchange,提问作者Mads N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 19:12:34