Arm Tabanlı Mikroişlemciler #04 | İlk Program: Düğmeyle Led (Saat, MODER, IDR, ODR, BSRR)

Giriş Çıkış Pinleri (GPIO)

Eğitmen: Dr. Süleyman Burak ÇELİK

İlk programımızı yazıyoruz: karttaki mavi düğmeye basınca yeşil led yanacak. Bunun için pinden işlemciye uzanan yolu üç adımda kuruyoruz: portun saatini açmak, pin çoklayıcıyla pini giriş ya da çıkış yapmak ve giriş/çıkış yazmaçlarıyla okuyup yazmak. Her bit adımını ekranda görerek, sonunda 3D kartta programın çalıştığını izliyoruz. Bu derste: - Pin ile işlemci arasındaki üç adım: saat kapılama, pin çoklayıcı, GPIO yazmaçları - Saat kapılama: RCC_AHBENR'de A (17. bit) ve C (19. bit) portları; 0x0000_0014 → 0x000A_0014 - Pin çoklayıcı: MODER 00 giriş, 01 çıkış, 10 alternatif, 11 analog; AFR ile 8 alternatif işlev; PA5 = 01 → 0x2800_0400, PC13 = 00 - Giriş ve çıkış yazmaçları: IDR (0x4800_0810, C portu) ve ODR (0x4800_0014, A portu) - Düğmeyi okumak: IDR ve 0x2000 maskesi; 0x2000 bırakılı, 0x0000 basılı, 0x2041 ve 0x2000 = 0x2000 - Döngü: ledi ODR ile yakmak ve söndürmek - BSRR: alt 16 bit kurar, üst 16 bit temizler; 0x0000_0020 ve 0x0020_0000; tek yazma, öteki bitler korunur - Programın tamamı ve üç tuzak: saati açmamak, pini çıkış yapmamak, IDR'yi maskelememek Bölümler: 0:00 Geçen Ders ve Bugün 0:21 Pinden İşlemciye Üç Adım 0:45 1. Saat Kapılama 1:15 2. Pin Çoklayıcı (MODER, AFR) 2:00 3. Giriş ve Çıkış Yazmaçları 2:33 Düğmeyi Okumak: IDR ve Maske 3:09 Döngü: Ledi ODR ile Sürmek 3:37 Tek Yazma: BSRR 4:21 Programın Tamamı 4:47 Üç Tuzak 5:12 Özet ve Sıradaki Ders Sıradaki derste daha fazla giriş/çıkış örneğine bakacağız: üç renkli bir led ve yukarı/aşağı çekme dirençleri gibi ek pin ayarları. Kaynak kitap: Alexander G. Dean, Embedded Systems Fundamentals with Arm Cortex-M based Microcontrollers, Nucleo-F091RC 2. baskı (Arm Education Media) — Bölüm 2, s. 38–46 (konu sırası ve kavramlar). Örnekler özgündür. Elektrik-Elektronik, Bilgisayar, Mekatronik ve Kontrol Mühendisliği öğrencileri için Arm Tabanlı Mikroişlemciler serisinin dördüncü dersi.