Raspberry III 产生PWM 信号: 软件PWM 和 硬件PWM.
1. 软件PWM
a. 头文件 #include <softPwm.h>
b. 初始化 int softPwmCreate (int pin, int initialValue, int pwmRange) ;
T = pwmRange * 0.1ms
T1 = initialValue * 0.1ms
c. 改变duty cycle:
void softPwmWrite (int pin, int value) ;
T1 = value * 0.1ms
2. 硬件PWM
a. 初始化 : "频率 (Hz) = 19.2e6 Hz / pwmClock / pwmRange"
pinMode(Pin, PWM_OUTPUT);
pwmSetMode(PWM_MODE_MS);
pwmSetClock(192); // delta = 10us
pwmSetRange(2000); // f = 50HZ; T = 20ms= delta * 2000
b. 改变 duty cycle
pwmWrite(Pin, 150); // T1 = delta * 150