c - 树莓派中GPIO的安全断开

标签 c raspberry-pi gpio

当为树莓派及其 GPIO 引脚编写“C”代码时,然后关闭该程序,有时 LED 会保持不变,或者 - 让我相信可能发生了一些我错过的事情

当调用“kill”或按下 ctrl+c 时,如何释放所有内存并断开我定义为输出的 GPIO 引脚?

虽然我对编码并不陌生,但我对 pi 很陌生,所以任何解决方案都很棒!

-H

最佳答案

这个问题的解决方案实际上并不是特定于 Raspberry 的:

您可以在捕获 SIGINT 或其他结束进程的信号的信号处理程序中或在 atexit()(用于“正常退出”)例程中关闭 LED。

但是,如果您的进程被 SIGKILL 或 SIGSTOP 信号杀死,您将无法执行任何类似于垂死喘息操作的操作,因为无法捕获这些信号。

关于c - 树莓派中GPIO的安全断开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44208537/

相关文章:

c++ - 在字符串中移动一个单词,单词之间用空格作为分隔符

c++ - 如何使用另一个模板化类的实例来对类进行模板化?

gpio - 写入/sys/class/gpio/export 失败

python - 按下键时跳转到函数

c - 在 C 中分配 3D 字符数组 (char ***)

c - 在 C 中实现和使用动态数组

c - 在 C 中释放结构的函数

linux - arecord 录音命令

linux系统,使用 "top"命令,top命令S栏的 'I'是什么意思,S --status

python - 如何调试 python import not found 错误?