Eğitimler
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
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 );
}