CurieTimer1PWM

Bu öğretici ile bir PWM sinyali üretmek için mikrodenetleyicide bulunan zamanlayıcılardan birini kullanmayı öğreneceksiniz. Sinyal için seçilen Pin 13 Pin'dir ve bu yerleşik LED'in yanıp sönmesine neden olur. Sinyalin süresi 1 saniyedir (1000000 mikrosaniye) ve görev döngüsü% 25'e ayarlanmıştır. Dalga formu üretimi bir kez başladı, sadece devam ediyor. Loop () içinde kodunuzu koyabilirsiniz ve zamanlayıcı fonksiyonlarını kullanmadığınız sürece PWM sinyalini etkilemez.

Gerekli Donanım

Devre


Bu öğreticiyi kullanmak için ek donanıma gerek yoktur.

Yazılım Temelleri

Kütüphaneler

CurieTimerOne .h, mikro denetleyicinin Zamanlayıcı 1'ine erişim sağlayan kütüphanedir. Bu kütüphane, kronometrenin bir kesinti yapılmadan önce saydığı mikrosaniye sayısını ayarlamaya izin verir. Kesme belirli bir işlevi (geri arama işlevi) çağıracak şekilde yapılandırılabilir ve her kesme bir sayacı artırır. Aynı kütüphane, görev döngüsü ve periyot uzunluğu tamamen özelleştirilebilir bir PWM sinyali üretmek için kullanılır.

Fonksiyonlar

Yok

Kod

#include "CurieTimerOne.h"

void setup() {
  // Setup a PWM signal on pin 13, onboard LED, with a 25% duty cycle
  // of a 1 second period (1000000 usec), as follow (please note the
  // decimal point to indicate double):

  CurieTimerOne.pwmStart(13, 25.0, 1000000);

  // Or, use discrete number range, 0-1023, to define the duty period,
  // 255 is 24.9%, as follow:

  // CurieTimerOne.pwmStart(13, 255, 1000000);
}

void loop() {
  // put your main code here, to run repeatedly:

  delay( 10000 );
}
[Kodu Al]

See Also