Beaglebone Black ではなく Beaglebone を使用しています。
PWM を出力しようとしたところ、このような高速デバイスで数メガヘルツの潜在的な周波数が期待されました。
sysfs で設定できる正確な最大値は 100HZ であることがわかりました。
オンラインで例を探し始めましたが、制限については言及されていませんでしたが、100HZ よりも速い値も示されていませんでした。
例:
root@beaglebone:/sys/class/pwm/ehrpwm.0:0# echo 10000000 > period_ns
root@beaglebone:/sys/class/pwm/ehrpwm.0:0# echo 1000000 > period_ns
-sh: echo: write error: Invalid argument
root@beaglebone:/sys/class/pwm/ehrpwm.0:0# echo 200 > period_freq
-sh: echo: write error: Invalid argument
root@beaglebone:/sys/class/pwm/ehrpwm.0:0# echo 101 > period_freq
-sh: echo: write error: Invalid argument
root@beaglebone:/sys/class/pwm/ehrpwm.0:0# echo 100 > period_freq
root@beaglebone:/sys/class/pwm/ehrpwm.0:0#
どんな 10 セント AVR でも、それよりも高速な PWM を実行できます。
私が見逃したトリックはありますか?
100 HZ よりも速い周波数が必要な場合は、GPIO を手動で切り替えてカスタム PWM を作成する必要がありますか?!