Interrupts.

Slides:



Advertisements
Benzer bir sunumlar
Hazırlayan ve Sunan Ali Yasin Çakılcı HUNROBOTX
Advertisements

ARM Tabanlı Mikrodenetleyici Temelleri ve Programlama
SINIFLAR Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
void medyan(int cevap[]) { int j; siralama(cevap);
Değişken Bildirimleri
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
5. EGITIM Mikrodenetleyiciler PIC16F628 – PIC16F877
ARDUINO İLE ANALOG ÇIKIŞ VERMEK
16F628 TANIMLAMA KISMI Devrenizi çalıştırmak için 16F628 mikrodenetleyicisini programlarken kullanacağınız tanımlama kısmı verilmiştir. Defterinize not.
ARDUINO DİJİTAL PİN KONTROLÜ
Timer 1 16bit (65535) Programlanabilir dahili ve harici saat kaynağı
ARDUINO DİJİTAL GiRİŞ KONTROLÜ
ARDUINO RÖLE KONTROLÜ.
ARDUINO İLE SERVO MOTOR KONTROLÜ
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
C++.
DİJİTAL ÇIKIŞ KOMUTLARI
Dijital Çıkış Mantığı.
CCS C İLE PIC PROGRAMLAMA DERS-2-
ARDUINO DİJİTAL PİN KONTROLÜ
CCS C İLE PIC PROGRAMLAMA DERS-3-
Seri Port ile İletişim.
ARDUINO DİJİTAL GiRİŞ KONTROLÜ
ARDUINO İLE SAYAÇ UYGULAMASI
AB’15 Arduino ile sensörler dersi
Sensörler Ders2 Aslı Ergün.
C dili kullanıcıya kendi ihtiyacı olan bir fonksiyonu yazma imkanı vermiştir. Bir sayının faktöriyelini almaya ihtiyaç duyduğumuzu ve aynı zamanda asal.
Matematik Artan-Azalan Fonksiyonlar Artan fonksiyon nedir?, azalan fonksiyon nedir?, artan-azalan fonksiyonların formülünü nasıl kullanırım?, artan-azalan.
MEKATRONİK dersİ arduino DERS notlarI
ARDUİNO PLATFORMU BÖLÜM2:Arduino platformu Arduino kurulumu ve test
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
PWM (Pulse Width Modulation- Sinyal Genişlik Modülasyonu)
Bluetooth İle Haberleşme
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
C Programlama Dili Bilgisayar Mühendisliği.
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
Motor Sürücü Devresi ile Kontrol
ARDUİNO PLATFORMU Arduino Çeşitleri.
ARDUİNO Arduino Eğitimleri Bölüm 6 Analog Giriş – Çıkış İşlemleri
DERS 9 PIC 16F84 PROGRAMLAMA.
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Arduino Uno R3 ile Merhaba Dünya Yrd. Doç. Dr. Deniz DAL
Arduino ve Gaz Sensörü.
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
Sensörler Ders 8 Aslı Ergün.
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
MİkroİŞlemcİler ve programlanmasI Mekatronik Mühendisliği Bölümü
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
Arduino Uno R3 ile Merhaba Dünya Yrd. Doç. Dr. Deniz DAL
MİkroİŞlemcİler ve programlanmasI Mekatronik Mühendisliği Bölümü
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
Ders 7 Arduino Genel Amaçlı Giriş-Çıkış Bacakları
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
ARDUİNO Arduino Eğitimleri Bölüm 6 Analog Giriş – Çıkış İşlemleri
ARDUİNO Arduino Eğitimleri Bölüm 4 Programlama Dili Temelleri - II
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Arduino Eğitimleri Bölüm 5 Dijital Giriş – Çıkış İşlemleri
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
ARDUİNO Arduino Eğitimleri Bölüm 2 Arduino’ya Giriş
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Arduino Programlama Dili
MBLOCK ile Arduino ve Robotik Kodlama
Arduino Uno R3 ile Merhaba Dünya Dr. Öğr. Üyesi Deniz DAL
(Dr. Öğr. Üyesi Deniz Dal)
MTM216 GÖRSEL PROGRAMLAMA
Sunum transkripti:

Interrupts

Interrupt yani kesme  işlemcinin halihazırda aktivitesini yarıda kesip başka bir iş yapmamızı sağlar. İnterruptlar donanım interruptu ve timer interruptu olmak üzere ikiye ayrılır. 

Donanım Interruptı Bord Dijital Pin İnterrupt Uno, Nano, Mini, other 328-based 2, 3 Mega, Mega2560, MegaADK 2, 3, 18, 19, 20, 21 Micro, Leonardo, other 32u4-based 0, 1, 2, 3, 7 Zero Tüm pinler, 4 hariç Due Tüm pinler

attachInterrupt(pin, fonksiyon, mod) ; Pin, hangi interrupt pinini kullandığımız. Foksiyon, interrupt tetiklendiğinde yapılacak işlemler fonksiyonu. Mod, inerrruptun nasıl tetikleneceğidir,

Modlar: -LOW: İnerrupt pininin Low seviyede olmasıyla -CHANGE: İnterrupt pininin değişimi ile 0v dan 5v a geçişi yada 5 den sıfıra geçişi. -RISING: İnterrupt pininin 0v dan 5v a geçmesi.Yükselen kenar. -FALLİNG: İnterrupt pininin 5v den 0v geçmesi.Düşen kenar. -HIGH: İnterrupt pininin 5v da olması

Kullanımı ttachInterrupt(2, kontrolet, RISING) ; Yukarıdaki kullanımda 2 ile hangi pinin interrupt olacağını, RISING ile yükselen kenarda tetiklenmesi gerektiğini, tetiklendiğinde kontrolet fonksiyonuna gitmesi gerektiğini belirttik.

int pin = 10; volatile int durum = LOW; void setup() { pinMode(pin, OUTPUT); digitalWrite(2, HIGH); attachInterrupt(0, kontrolet, FALLING); } void loop() { } void kontrolet() { if(durum == LOW) { durum = HIGH; } else { state = LOW; digitalWrite(pin, state);

Timer İnterruptu Kendi kendilerine bir süre sonunda tetikleme yapabiliriz. Örneğin bir ledi 1 er saniye aralıklarla yakıp söndürelim ve her 3 saniyede bir başka bir ledi yakıp söndürmek yada başka bir buton durumunu kontrol etmek istersek timer interruptlarını kullanırız. Timer interruptu kullanmak için hazır kütüphane olan TimerONE kütüphanesini kullanarak basit bir şekilde kullanabiliriz.

#include <TimerOne.h> void setup() { pinMode(13, OUTPUT); Timer1.initialize(100000); // 1 saniyede tetiklenmesi Timer1.attachInterrupt( kontrolet ); } void loop() { } void kontrolet() // Toggle LED digitalWrite( 13, digitalRead( 13 ) ^ 1 );