wiring pi pwm使用历程
时间: 2023-07-20 22:39:28 浏览: 216
WiringPi是一款专门为树莓派设计的C库,提供了方便的GPIO控制和PWM控制功能。在使用树莓派控制电机、灯光等外设时,PWM控制是非常重要的,可以通过调整PWM信号的占空比,实现对电机、灯光等外设的精确控制。
我个人使用WiringPi PWM的历程如下:
1.安装WiringPi库
首先需要在树莓派上安装WiringPi库,可以通过以下命令进行安装:
```
sudo apt-get update
sudo apt-get install wiringpi
```
2.导入WiringPi库
在C/C++程序中使用WiringPi库,需要在程序中导入该库,可以使用以下指令:
```
#include <wiringPi.h>
```
3.初始化PWM控制
在程序中需要对PWM控制进行初始化,可以使用以下函数:
```
int pwmSetMode (int mode);
int pwmSetRange (unsigned int range);
int pwmSetClock (int divisor);
```
其中,mode参数指定PWM波形的模式,range参数指定PWM波形的周期,divisor参数指定PWM波形的时钟频率。例如,设置PWM波形的模式为Mark Space模式,周期为2000,时钟频率为192,可以使用以下代码进行初始化:
```
pwmSetMode (PWM_MODE_MS);
pwmSetRange (2000);
pwmSetClock (192);
```
4.设置PWM输出引脚
在程序中需要指定PWM输出的引脚,可以使用以下函数:
```
void pinMode (int pin, int mode);
```
其中,pin参数指定GPIO引脚的编号,mode参数指定GPIO引脚的模式,可以是输入或输出。需要注意的是,只有支持PWM输出的GPIO引脚才能进行PWM控制。
例如,设置GPIO18引脚为PWM输出模式,可以使用以下代码:
```
pinMode (18, PWM_OUTPUT);
```
5.控制PWM输出
在程序中需要控制PWM输出的占空比,可以使用以下函数:
```
void pwmWrite (int pin, int value);
```
其中,pin参数指定PWM输出的GPIO引脚编号,value参数指定PWM输出的占空比,取值范围为0~range,其中range为初始化时设置的PWM波形周期值。
例如,设置GPIO18引脚的PWM输出占空比为50%,可以使用以下代码:
```
pwmWrite (18, 1000);
```
以上就是我使用WiringPi PWM的历程,希望可以对你有所帮助。
阅读全文