Я использую Beaglebone, а не Beaglebone Black.
Я только что попытался вывести ШИМ и ожидал потенциальные частоты в несколько мегагерц на таком быстром устройстве.
Я обнаружил, что 100 Гц — это точный максимум, который я могу установить через sysfs.
Я начал копаться в Интернете в поисках примеров, и они не упомянул предел, но они также не показывали значение выше 100 Гц.
Пример:
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#
Любой 10cent AVR может сделать более быструю ШИМ, чем эта.
Есть ли какой-то трюк, который я упустил?
Мне действительно нужно создавать собственный ШИМ, вручную переключая GPIO, если я хочу более быструю частоту, чем 100 Гц?!