香蕉皮零M2上的“文档”非常混乱,甚至很有趣。目标:使PWM工作。
因此,我安装了armbian,等待了一个星期我的usb电缆出现(因为您只会失败默认SSH ),配置ssh并遵循步骤在这里安装修改后的装配线pi - gpio实用程序。我可以确定设置针L/H作品。
下一步是验证PWM工作,所以这里的乐趣开始。喷出看起来和覆盆子上的一样,所以他们声称:

我用上一次RPI 0设计了我的板,我使用的是pin GPIO 12 (wiringPi 1),所以我这样做了:
# gpio mode 1 pwm
the pin you choose is not surport hardware PWM
you can select PA6 for PWM pin
or you can use it in softPwm mode所以你可以看到它不是‘冲浪’,我应该试试PA6。
不知道什么是PA6,所以我搜索并找到了这个关于主题的帖子。
所以我决定:
# gpio mode 7 pwm
you choose the hardware PWM:1它告诉我,我选择了PWM:1无论这意味着什么。(1正在运行?)当然,我试着设定工作周期,等着看我的led来吧,但就像我在上面提到的那条线上的那位先生一样:
# gpio pwm 7 100
val pwmWrite 0 <= X <= 1024
Or you can set new range by yourself by pwmSetRange(range与我输入的ducy循环值不改变的错误。
我发现的下一个最佳选择让我加入脉宽调制覆盖,激活脉宽调制,设定周期和占空比。命令通过时没有出错,但LED没有亮起。我的脉宽调制线现在连接到GPIO 15 (UART_TXD) --这是对的吗?
这是我的armbianEnv.txt
# cat /boot/armbianEnv.txt
verbosity=1
bootlogo=false
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
rootdev=UUID=986b3dcb-01f8-4965-8a16-03b55c7341fd
rootfstype=ext4
overlays=i2c0 pwm w1-gpio
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u我刚刚注意到,i2c0和w1-gpio可能是由armbian-config实用程序添加到overlays中的,所以这可能没问题。
但如果你问我:
root@bananapim2zero:~# ls /boot/dtb/ | grep pwm
root@bananapim2zero:~# ls /boot/dtb-6.1.11-sunxi/ | grep pwm没有这样的覆盖所以我不知道。
最后,我想把所有的缩略语理解为:PA,所有这里列出的GPIO引脚名的意思,我的意思是里面似乎有一些逻辑,但我不知道为什么有两个单独的表在这些名字前加上CON2-,然后CON3-跟在P{0-24}后面,就好像会有两个不同的GPIOs?为什么和什么是UART跳投?
主要是:我如何获得PWM工作?接下来是i2c和w1。
我相信答案会为更多寻找RPI替代品的迷失者提供线索。
谢谢!
发布于 2023-04-23 11:53:05
好了好了。
昨天深夜,我没有注意到GPIO 40引脚头之外的3个单独的引脚,供应商标记为UART:

请注意,您可以找到两种不同的UART:

gpio实用工具指向其中一个:

但这只是视觉上的,如果您注意到,您设置为PWM: 7的引脚没有被标记为PWM:7。至少它不是躺在输出中。而且它也不起作用,所以不抽雪茄;我只想知道为什么我能看到标题: dev bontago已经专门为这个板的用途修改了该实用程序.。
为了消除
。
# activate the PWM. On H3 only 1 PWM is supported, so exporting PWM 0
echo 0 > /sys/class/pwm/pwmchip0/export
# set period to 10ms
echo 10000000 > /sys/class/pwm/pwmchip0/pwm0/period
# set normal polarity. needs to be reset explicitly. Bug?
echo "inversed" > /sys/class/pwm/pwmchip0/pwm0/polarity
echo "normal" > /sys/class/pwm/pwmchip0/pwm0/polarity
# enable the PWM
echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
# set duty cycle to 1ms
echo 1000000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle# uname -a Linux bananapim2zero 6.1.11-sunxi #23.02.2 SMP Sat Feb 18 05:52:53 UTC 2023 armv7l GNU/Linux
https://unix.stackexchange.com/questions/743710
复制相似问题