首页 > 解决方案 > 树莓派上的 PWM 频率总是很低

问题描述

我使用 pi4j 库在 java 中编写了一个程序,我尝试将分频器设置得尽可能低,但我得到的输出频率约为 1Hz,我似乎无法再高了。有什么想法吗?

public class PwmController {

    GpioController gpio;
    Pin pin1;
    Pin pin2;
    Pin pin3;
    Pin pin4;
    GpioPinPwmOutput motor1;
    GpioPinPwmOutput motor2;
    GpioPinPwmOutput motor3;
    GpioPinPwmOutput motor4;

    public PwmController(GpioController gpio, Pin pin1, Pin pin2, Pin pin3, Pin pin4) {
        this.gpio = gpio;
        this.pin1 = pin1;
        this.pin2 = pin2;
        this.pin3 = pin3;
        this.pin4 = pin4;
        motor1 = gpio.provisionPwmOutputPin(pin1);
        motor2 = gpio.provisionPwmOutputPin(pin2);
        motor3 = gpio.provisionPwmOutputPin(pin3);
        motor4 = gpio.provisionPwmOutputPin(pin4);

        com.pi4j.wiringpi.Gpio.pwmSetMode(com.pi4j.wiringpi.Gpio.PWM_MODE_MS);
        com.pi4j.wiringpi.Gpio.pwmSetRange(1000);
        com.pi4j.wiringpi.Gpio.pwmSetClock(1);
        setPwm(500,300,200,100);
    }

    public void setPwm(int pwm1,int pwm2,int pwm3,int pwm4) {
        motor1.setPwm(pwm1);
        motor2.setPwm(pwm2);
        motor3.setPwm(pwm3);
        motor4.setPwm(pwm4);
    }
}

标签: javaraspberry-piwiringpipi4j

解决方案


推荐阅读