Beaglebone Black pwm在启动时使用cron只是保持高电平(python)

2024-04-29 08:54:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使我的Beaglebone黑色(BBB)输出pwm在启动。从命令行启动程序时,程序运行正常。不过,当程序启动时,使用的输出是高的。在

下面是我正在运行的代码:

#!/usr/bin/python
import Adafruit_BBIO.GPIO as GPIO    #import GPIO library
import Adafruit_BBIO.PWM as PWM      #import PWM library

#Boost Converter Control
boost_frequency = 1000000            #in Hz, 1000000 = 1MHz
boost_duty_cycle = 50                #in % (0-100)

PWM.start("P8_13", boost_duty_cycle, boost_frequency)

我把这个留作fes_控件.pyin/root/exo_代码

当我使用以下命令行运行它时,我在输出处得到正确的pwm:

^{pr2}$

我想在启动时运行这个。在

我在命令行中键入以下内容:

sudo crontab -e

这将打开一个文件,我在底部添加以下行:

@reboot python /root/exo_code/fes_control.py &

然后我保存并退出。在

但是当我重启BBB时,引脚的输出总是很高。我有同样的问题在1khzpwm频率。我还尝试在cron文件中的“@reboot”和“python”之间插入“sudo”,但这并没有改变任何东西。你知道会发生什么吗?在

编辑:我还尝试编写一个脚本来运行python程序,并将其放在/etc/init.d中(就像本教程中所做的一样:http://www.pietervanos.net/knowledge/start-python-script-from-init-d/),我遇到了与上面完全相同的问题。在


Tags: 代码命令行inimport程序adafruitgpioas
2条回答

crontab通常用于指定任务的运行时间

您的命令缺少时间说明符

$nano /etc/crontab

会给你看一些例子。这是我的

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command 

17****根cd/运行部件报告等/每小时一次在

25 6***根测试-x /usr/sbin/anacron | |(cd/运行部件报告/等)/cron.daily公司)在

47个 6**7根测试-x/usr/sbin/anacron |(cd/运行部件 报告/等/cron.weekly公司)在

52 6 1**根测试-x/usr/sbin/anacron |(cd/运行部件报告/等)/cron.monthly公司) #在

所以我认为这样的命令会起作用的

^{pr2}$

好吧,我想好了。结果是我正在运行的代码需要一些在启动时没有初始化的东西。我在python代码的开头添加了10秒的延迟,现在它在启动时运行得非常好:)

相关问题 更多 >