02ラズベリーパイ4B-C言語プログラミング--PWM

01ラズベリーパイ直接PWM出力 - ハードウェアPWMプログラム(推奨)

する#include <stdio.hに> 
する#include <wiringPi.h> 
の#include <softPwm.h>   // 必要
INTメイン(ボイド
{ 
  int型 pwm_gpio5 = 1 ; //使用GPIO5、
  INT I = 0 ; 
  wiringPiSetup()。成功した初期化が見たら//書き込みが緩んでも、何を決定する必要があります
  pinMode(pwm_gpio5、PWM_OUTPUTを); 
  のprintf(" pwm_gpio5が点滅している... \ N- " );    
  のため(;;)
  { 
    のために、私は=(0を I <; 1024 ; I ++ 
    { 
      pwmWrite(1 、I)。
      ディレイ(10 )。
      printf(" テストは%dです...... \ N " 、i)は、    
    } 
    のための(iは= 1023 ; I> 0 ; i-- 
    { 
      pwmWrite(1 、I)。
      ディレイ(10 )。
      printf(" テストは%dです...... \ N " 、i)は、    
    } 
  } 
}

02ラズベリーパイダイレクトPWM出力 - PWMのソフトウェアプログラム

する#include <stdio.hに> 
する#include <wiringPi.h> 
の#include <softPwm.h>
 INTメイン(ボイド
{ 
    int型 pwm_gpio5 = 1 int型私は= 0を
    wiringPiSetup(); 
    pinMode(pwm_gpio5、PWM_OUTPUT)。
    printf(" pwm_gpio5が点滅している... \ N " );    
    softPwmCreate(pwm_gpio5、100)。// 创建软PWM默认的值100 
    のための(;;)
    { 
        ためには、(iは= 0 ; I < 100 ; I ++  
        {
            softpwmWrite(1 、I)。
            ディレイ(10 )。
            printf(" テストは%dです...... \ N " 、i)は、    
        } 
        のためには、式(I = 99、I> 0 ; i-- 
        { 
            softpwmWrite(1 、I)。
            ディレイ(10 )。
            printf(" テストは%dです...... \ N " 、i)は、    
        } 
    } 
}

任意ラズベリーGPIOポートを送信するPWM信号で出力することができるソフトウェア駆動処理ライブラリを含むPWM 03 wiringPIで。PWM周波数が高いことを特徴とする、より多くのCPUリソースがバランスをとる必要性に特別な注意を払うために必要な

04コンパイルされた実行可能ファイル、-lwiringPi -lpthreadを追加することを忘れないでください 

おすすめ

転載: www.cnblogs.com/Record-experience/p/12118454.html