Kayıtlar

C++ Fonksiyonlar

  C++’ta fonksiyonlar , kod tekrarını önlemek ve programı daha modüler hale getirmek için kullanılır. Fonksiyonlar, belirli bir işlemi yerine getiren kod bloklarıdır ve gerektiğinde çağrılarak çalıştırılırlar. 1. C++ Fonksiyonlarının Tanımlanması Bir fonksiyon üç ana bileşenden oluşur: Fonksiyon bildirimi (Prototype) – Fonksiyonun ne yaptığı ve nasıl çağrılacağı tanımlanır. Fonksiyon tanımı (Definition) – Fonksiyonun içeriği yazılır. Fonksiyon çağrısı (Call) – Fonksiyonun çalıştırıldığı yerdir. Genel format: veri_tipi fonksiyon_adı(parametreler) { // Fonksiyonun kodları return değer; } 2. Parametresiz ve Geri Dönüş Değeri Olmayan Fonksiyonlar Bu tür fonksiyonlar, dışarıdan hiçbir veri almaz ve geri dönüş yapmaz ( void kullanılır). Örnek: Ekrana mesaj yazdıran fonksiyon #include <iostream> using namespace std; // Fonksiyon bildirimi void mesajYaz() { cout << "Merhaba, bu bir fonksiyondur!" << endl; } int main() { ...

C++ Diziler

 Tabii! C++’ta diziler (arrays) , aynı veri tipine sahip birden fazla değeri saklamak için kullanılan veri yapılarıdır. Diziler, bellekte ardışık olarak saklanır ve her eleman bir indeks numarası ile erişilebilir. 1. C++ Dizilerinin Tanımlanması Bir dizi tanımlamak için şu yapıyı kullanırız: veri_tipi dizi_adı[eleman_sayısı]; Örneğin: int sayilar[5]; // 5 elemanlı bir integer dizisi Bununla birlikte, dizi tanımlanırken boyutu sabit olmak zorundadır . 2. Dizilere Değer Atama ve Erişim Bir dizi şu şekilde başlatılabilir: int sayilar[5] = {10, 20, 30, 40, 50}; Eğer tüm değerleri başlatmazsan, kalan elemanlar varsayılan olarak 0 olur : int dizi[5] = {5, 10}; // İlk iki eleman 5 ve 10, diğerleri 0 olur . Dizi elemanlarına indeks kullanarak erişebilirsin: #include <iostream> using namespace std; int main() { int sayilar[3] = {10, 20, 30}; cout << "İlk eleman: " << sayilar[0] << endl; cout << "İkinci eleman: ...

İleri Seviye Mikrodenetleyici Konuları

  İleri Seviye Mikrodenetleyici Konuları Mikrodenetleyiciler, temel giriş/çıkış işlemlerinin ötesine geçerek zamanlama yönetimi, gerçek zamanlı işletim sistemleri (RTOS), ileri düzey haberleşme protokolleri, güvenlik mekanizmaları ve güç yönetimi gibi gelişmiş konuları içerecek şekilde programlanabilir. Bu konular, endüstriyel otomasyon, IoT (Nesnelerin İnterneti), robotik ve gömülü sistem güvenliği gibi alanlarda hayati öneme sahiptir. Bu başlık altında, ileri seviye mikrodenetleyici konularını ve alt başlıklarını detaylı şekilde ele alacağız. 1. Gerçek Zamanlı İşletim Sistemleri (RTOS) ve Zamanlayıcılar Gömülü sistemlerde bazen birden fazla görevin eşzamanlı yürütülmesi gerekir. RTOS, bu görevlerin belirli zamanlama kurallarına göre yönetilmesini sağlar. 📌 Öne Çıkan Konular: Temel RTOS Yapısı Görevler (Tasks) Zamanlayıcılar (Schedulers) Kesme öncelikleri Thread Yönetimi ve Çoklu Görev (Multithreading) Kooperatif Zamanlama: Görevler kendi zamanlarını...

Mikrodenetleyici Türleri ve Aileleri

  Mikrodenetleyici Türleri ve Mikrodenetleyici Aileleri Mikrodenetleyiciler, farklı uygulamalar için özel olarak tasarlanmış entegre devrelerdir. Bunlar, endüstriyel otomasyon, IoT (Nesnelerin İnterneti), tıbbi cihazlar, tüketici elektroniği ve otomotiv gibi birçok alanda kullanılır. Mikrodenetleyiciler, işlemci çekirdeği (CPU), bellek (RAM, ROM, Flash) ve giriş/çıkış (I/O) birimlerini tek bir çip üzerinde barındırır. Bu başlık altında, mikrodenetleyici türleri ve popüler mikrodenetleyici ailelerini detaylı bir şekilde inceleyeceğiz. 1. Mikrodenetleyici Türleri Mikrodenetleyiciler, farklı kriterlere göre sınıflandırılabilir: bellek yapısı, işlemci mimarisi, bit genişliği, güç tüketimi ve uygulama alanları. a) Bellek Mimarisine Göre Mikrodenetleyiciler Harvard Mimarisi Mikrodenetleyiciler Bellek ve veri yollarını ayrı tutar. Avantajı: Daha yüksek hız ve paralel veri işleme. Örnek: PIC Mikrodenetleyiciler, AVR Mikrodenetleyiciler. Von Neumann Mimarisi Mikrodenetle...

Mikrodenetleyicilerde Gömülü Sistemler Güvenliği

  Gömülü Sistemler Güvenliği Gömülü sistemler, özellikle kritik altyapılarda, sanayi kontrol sistemlerinde, tıbbi cihazlarda ve IoT (Nesnelerin İnterneti) uygulamalarında yaygın olarak kullanılmaktadır. Ancak, bu sistemlerin güvenliği büyük önem taşır çünkü kötü amaçlı saldırılar, veri sızıntıları ve fiziksel müdahaleler ciddi sonuçlara yol açabilir. Bu başlık altında, gömülü sistem güvenliği ile ilgili temel kavramları ve kritik güvenlik önlemlerini detaylı bir şekilde inceleyeceğiz. 1. Donanım Tabanlı Güvenlik Gömülü sistemlerin güvenliği sadece yazılım seviyesinde değil, donanım seviyesinde de sağlanmalıdır. a) Güvenilir Önyükleme (Secure Boot) Güvenilir önyükleme, sistemin sadece doğrulanmış ve yetkilendirilmiş yazılımları çalıştırmasını sağlar. Bir dijital imza mekanizması kullanarak sistemin firmware'ini doğrular. Sahte veya değiştirilmiş yazılım çalıştırılmasını engeller. 🔹 Nasıl Çalışır? Mikrodenetleyici veya mikroişlemci, ROM içinde bulunan bir önyükleyiciy...

Mikrodenetleyicilerde Proje Tabanlı Uygulamalar

  Proje Tabanlı Uygulamalar Mikrodenetleyicilerle yapılan projeler, teorik bilgiyi pratiğe dökerek öğrenmeyi kalıcı hale getiren en iyi yöntemlerden biridir. Proje tabanlı uygulamalar , mikrodenetleyici programlama, donanım tasarımı ve çeşitli sensör/aktüatörlerle etkileşimi kapsayan gerçek dünya uygulamalarını hayata geçirmek için kullanılır. Bu bölümde, farklı seviyelerde proje önerileri sunarak her birinin nasıl çalıştığını detaylıca açıklayacağız. 1. Temel Seviye Projeler Bu projeler, yeni başlayanlar için temel giriş/çıkış işlemleri, butonlar, LED’ler ve temel sensörleri içeren projelerdir. a) LED Yakıp Söndürme (Blink Projesi) Bu, mikrodenetleyici dünyasına giriş için en temel projedir . LED’in belirli aralıklarla yanıp sönmesini sağlar. 📌 Kod Örneği (Arduino) void setup() { pinMode(LED_BUILTIN, OUTPUT); // LED çıkış olarak tanımlandı } void loop() { digitalWrite(LED_BUILTIN, HIGH); // LED’i yak delay(1000); // 1 saniye bekle digitalWrite(LED_B...

Mikrodenetleyicilerde Kesme Yönetimi

  Kesme (Interrupt) Yönetimi Kesme ( Interrupt ), mikrodenetleyicinin belirli bir olay meydana geldiğinde ana program akışını geçici olarak durdurup özel bir işlemi gerçekleştirmesini sağlayan mekanizmadır. Bu mekanizma, hızlı tepki verilmesi gereken işlemlerde büyük avantaj sağlar. Bu bölümde kesmelerin nasıl çalıştığını, türlerini ve nasıl kullanıldığını detaylıca ele alacağız. 1. Kesmenin Temel Çalışma Prensibi Bir kesme meydana geldiğinde, mikrodenetleyici aşağıdaki işlemleri sırasıyla gerçekleştirir: Mevcut işlemi durdurur ve mevcut CPU durumunu kaydeder. Belirlenen kesme fonksiyonunu (ISR - Interrupt Service Routine) çalıştırır. Kesme işlemi tamamlandıktan sonra kaydedilen CPU durumunu geri yükler. Ana programın kaldığı yerden çalışmasına devam eder. 📌 Örnek Senaryo: Bir butona basıldığında mikrodenetleyicinin bir LED’i yakması ve buton bırakıldığında LED’i söndürmesi için kesme kullanılabilir. 2. Kesme Türleri Mikrodenetleyicilerde kullanılan kesmeler dona...