我试图使我的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/),我遇到了与上面完全相同的问题。在
crontab通常用于指定任务的运行时间
您的命令缺少时间说明符
会给你看一些例子。这是我的
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秒的延迟,现在它在启动时运行得非常好:)
相关问题 更多 >
编程相关推荐