02树莓派4B—C语言编程——PWM


01树莓派直接输出PWM波 —— 硬件PWM程序  (推荐使用)

#include <stdio.h> #include <wiringPi.h> #include <softPwm.h>  //必不可少
int main( void) {   int pwm_gpio5 = 1; //使用GPIO5   int i=0;   wiringPiSetup(); //写的不严谨 应该也判断一下, 看初始化是否成功   pinMode(pwm_gpio5 ,PWM_OUTPUT);   printf("pwm_gpio5 is blinking...\n");   for(;;)   {     for(i=0;i<1024;i++)     {       pwmWrite(1,i);       delay(10);       printf("Testing is %d......\n",i);     }     for(i=1023;i>0;i--)     {       pwmWrite(1,i);       delay(10);       printf("Testing is %d......\n",i);     }   } }

02树莓派直接输出PWM波 —— 软件PWM程序

#include <stdio.h> #include <wiringPi.h> #include <softPwm.h>
int main( void) { int pwm_gpio5 = 1; int i=0; wiringPiSetup(); pinMode(pwm_gpio5 ,PWM_OUTPUT); printf("pwm_gpio5 is blinking...\n"); softPwmCreate(pwm_gpio5,100); //创建软PWM 默认的值100
    for(;;) { for(i=0;i<100;i++) { softpwmWrite(1,i); delay(10); printf("Testing is %d......\n",i); } for(i=99;i>0;i--) { softpwmWrite(1,i); delay(10); printf("Testing is %d......\n",i); } } }

03 wiringPI 中包含了一个软件驱动的PWM处理库,可以在任意的树莓派GPIO口输出PWM信号。其中PWM频率越高,所需要的CPU资源越多,特别注意需要寻求平衡

04 编译生成执行文件时,千万别忘记加 -lwiringPi -lpthread 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM