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