Mikrodenetleyicilerde Kesme Nedir?

  • 09-12-2018 12:26
  • 82

Öncelikle kesme (interrupt) nedir? Bir olayın oluşunu sürekli denetlemek yerine bu olay gerçekleştiğinde size haber verilmesidir bu daha az meşgul edici bir yöntemdir. Elektronikte bunun adı kesmedir. Kesme mikroişlemcinin bütün yazmaçları yığına atarak belirli bir adrese (kesme fonksiyonuna) yönlendirilmesidir. Kesme fonksiyonundan çıkınca eski yazmaç değerleri yığından geri yüklenir ve program kaldığı yerden çalışmaya devam eder. Bu MCU lar için çok önem taşıyan bir özelliktir ve çok sık kullanılırlar. Bunun nedeni birçok arabirime sahip olması ve neredeyse hepsinin kesme kullanılarak denetlenmesidir.

Örneğin bir cdrom sürücüyü düşünün, açma kapanma, optik odaklama, motor sürücüsü, bilgisayarla iletişimi ve daha bir dizi işlem, bunların hepsi özel MCU ve sürücülerle yapılıyor. Kesmeler olmadan aynı donanımla böyle birşey yapmak belkide mümkün olmazdı. 

Bizim örneğimiz bu kadar kompleks olmayacak bir timer kullanacağız, timer sıfırlandığı zaman bir kesme üretilecek program akışı kesme fonksiyonuna yönlenecek. Burada bord üzendeki ledin yanma konumunu değiştirecek. Böylece led yanıp sönecek.

Örnek STM32F103 MCU için Coocox Ide projesi olarak hazırlandı. Farklı bir ide kullanıyorsanız main.c dosyasını kopyalayıp kendi ortamınızda kullanabilirsiniz.

Download