最近正在用VIM控制舵机,希望至少有两路硬件的PWM输出。
另外,需要使用python动态的调整PWM占空比,请问如何实现。
@jamin如果还有其他常规GPIO引脚,则可以尝试创建softPWM,
硬件PWM如何实时的控制,使用python的话?
@jamin 这个就需要你自己实现了,首先你要去了解一下硬件pwm是怎么控制的,
可以参照我们的文档.
然后在python上,你只要控制这些文件就行,最简单的就是直接用盘python调用系统命令.
也可以通过直接打开文件写的方式
如果要做到实时控制的话,这样会比较慢吧。
有没有系统的函数可以调用,直接写PWM的寄存器的。
khadas@Khadas:~$ su
Password:
root@Khadas:/home/khadas# echo 1 > /sys/class/pwm/pwmchip4/export
root@Khadas:/home/khadas# echo 1000000 > /sys/class/pwm/pwmchip4/pwm1/period
root@Khadas:/home/khadas# echo 500000 > /sys/class/pwm/pwmchip4/pwm1/duty_cycle
root@Khadas:/home/khadas# echo 1 > /sys/class/pwm/pwmchip4/pwm1/enable
root@Khadas:/home/khadas#
我这边运行未发现任何错误.你使用固件是哪一个?运行一个这个命令
root@Khadas:/home/khadas# cat /etc/fenix-release
# PLEASE DO NOT EDIT THIS FILE
BOARD=VIM3
VENDOR=Amlogic
VERSION=0.9.7
ARCH=arm64
INITRD_ARCH=arm64
INSTALL_TYPE=EMMC
IMAGE_RELEASE_VERSION=V0.9.7-201126
################ GIT VERSION ################
UBOOT_GIT_VERSION=khadas-vims-v0.9.7-release
LINUX_GIT_VERSION=khadas-vims-v0.9.7-release
FENIX_GIT_VERSION=v0.9.7
#############################################
查看一下你的系统版本.
另外可以运行一下这个命令
root@Khadas:/home/khadas# cat /boot/env.txt | grep "overlays"
overlays=uart3 pwm_f i2c3 os08a10
确认下pwm_f是不是开启了
PLEASE DO NOT EDIT THIS FILE
BOARD=VIM3
VENDOR=Amlogic
VERSION=0.8.1
ARCH=arm64
INITRD_ARCH=arm64
INSTALL_TYPE=SD-USB
IMAGE_RELEASE_VERSION=V20191231
另外 运行这个命令没有任何显示
root@Khadas:/home/khadas/Desktop# cat /boot/env.txt | grep “overlays”
root@Khadas:/home/khadas/Desktop#