首先需要wiringPi,我自己的系统有,如果你没有,自行下载,很简单,可以看看 /usr/include/wiringPi.h,有的话就是OK,
其次介绍几个pwm相关的主要设置函数
1:pwmSetClock(int divisor),设置pwm分频系数,默认是32,pwm的时钟输入是19.2MHz,因此默认是600KHz
2:pwmSetRange(unsigned int range),设置pwm输出周期,默认是1024,不调用的话周期 freq = 600KHz / range,大约为600hz,精确的话应该是585.9hz
3:pwmSetMode(int mode)设置pwm输出模式,此处我们设置为PWM_MODE_MS
4:pwmWrite() 设置占空比,范围是0~range,比如默认range=1024,这里取512就是50%的占空比
从上面我们可以算出来pwm频率,也就是得出来周期,也就是一个脉冲的时间,一个脉冲走一个步进角,步进角电机上有,比如我的配置全是默认配置,range=1024,系数32,步进角是1.8,那我转一圈是200个步进角,也就是200个周期。我的pwm频率是600KHz/1024 ,在乘以200,细分数是100,在乘以100,大概转一圈是34秒,下面给出转速公式