注:WiringPi 已停止维护
现象
从 GitHub 拉取最新版本的 WiringPi (2.70),在编译安装后,使用 gpio -v
检验时会出现如下提示:
gpio version: 2.70
Copyright (c) 2012-2018 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty
Oops: Unable to determine board revision from /proc/cpuinfo
-> No "Hardware" line
-> You'd best google the error to find out why.
问题定位
首先定位该提示输出的位置,在 wiringPi/wiringPi.c
中:
查找该函数的调用,有一个调用输出了 “No "Hardware" line
”:
查看这个调用,发现是查找 /proc/cpuinfo
中的 Hardware
行:
发现在 /proc/cpuinfo
中确实不存在 Hardware
行。因此,我们可以在别处手动制作一个 cpuinfo
文件,包含 WiringPi 所需要的所有信息:
并修改 WiringPi 中所有对 /proc/cpuinfo
文件的调用为调用修改过的 cpuinfo
文件,分别在 piGpioLayout
函数与 piBoardId
函数中:
重新编译安装后,再次执行 gpio -v
命令,可以正常识别板子信息:
执行 gpio readall
命令:
磁铁完结喵。