目录[-]


1、树莓派时间更新问题 make: warning: Clock skew detected. Your build may be incomplete.

make: Warning: File 'xxx' has modification time * s in the future
make: warning: Clock skew detected. Your build may be incomplete.

原因:在编译时出现此问题,主要是因为树莓派本身不具备时钟,每次开机时联网获取当前时间,而树莓派因为时区设置问题系统时间落后于实际时间(系统时间落后于文件修改时间),进而导致编译报错。

解决办法:确认是否时以上原因的导致的,确认后修改树莓派时区以及系统时间。

# 将系统时间链接到上海时区/需要的时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 直接通过SHELL修改系统时间

sudo date -d "2020-10-25 18:47:00"

ps. 传统的笔记本、计算机以及工控机都存在一个由纽扣电池供电的“实时时钟(RTC)模块,即使机器关机,RTC模块也可保持时间步进,树莓派中为了减小体积,并没有包含RTC模块,只有在每次开机时通过WIFI或者以太网连接到ntp服务器进行时间更新。


2、使用 pigpio 时 报错:Can´t initialise pigpio library

Can´t initialise pigpio library

原因1:没有启动 pigpiod 守护线程

解决办法1: 直接启动守护线程即可

sudo pigpiod

原因2: 重复启动 pigpiod 守护线程

解决办法2 : 杀掉现有线程,重新启动

ps aux |grep pigpiod
sudo killall pigpiod

ps. 如果以上两个办法没有解决,则可以尝试直接删除 pigpio.pid 文件,然后重新启动 pigpiod 守护线程。作为一个优选方案,在程序中启动 守护线程时,先去该目录下检测是否存在 pigpio.pid ,如果存在,则直接使用;如果不存在,再去启动守护线程。

sudo rm /var/run/pigpio/pid
sudo pigpiod