İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30

Benzer belgeler
C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi. Apr 10,

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

Genel Kavramlar. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders Notları-2

BÖLÜM Mikrodenetleyicisine Giriş

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri

EEM 419-Mikroişlemciler Güz 2017

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

PIC 16F877 nin kullanılması

BÖLÜM 1: MİKRODENETLEYİCİLER

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

C-Serisi PLC İleri Seviye Eğitim

1 GİRİŞ 1 Bu Kitap Kimlere Hitap Eder 1 Kitabın İşleyişi 2 Kitabın Konuları 3 Kitabı Takip Etmek İçin Gerekenler 6 Kaynak Kodu ve Simülasyonlar 6

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

Giris {\} /\ Suhap SAHIN

Mikroişlemciler. Microchip PIC

DOKUMANLAR

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI

Ad Soyad: Öğrenci No:

Mikroişlemciler (EE 208) Ders Detayları

İletişim Protokolleri (Communication Protocols)

1 RFID VE RFID TEKNOLOJİSİ

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628:

Mikrokontrolcu Portları {\} /\ Suhap SAHIN

BÖLÜM 6 Seri Port Đşlemleri

STM32 ile Gömülü Yazılım Geliştirme - 1

BM-311 Bilgisayar Mimarisi

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

ATB100. ATB100 GPRS / GPS Tabanlı Filo Yönetim Terminali. Bilgi Dokümanı. 1

Bilgisayarların Gelişimi

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

İşletim Sistemleri (Operating Systems)

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

MEKATRONİĞİN TEMELLERİ

Haftalık Ders Saati Okul Eğitimi Süresi

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Yrd.Doç.Dr. Celal Murat KANDEMİR

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

İÇİNDEKİLER ÖNSÖZ...3

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

Doç. Dr. Cüneyt BAYILMIŞ

İÇİNDEKİLER VII İÇİNDEKİLER 1 ARDUINONUN TEMELLERİ 1

PIC MİKRODENETLEYİCİLER İÇİN. mikrobasic DERLEYİCİSİ

Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Dinleme ve anlamlandırma

PIC Programlama. Devrim Çamoğlu

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

ĐŞARET ĐŞLEME (SIGNAL PROCESSING)

1 RFID VE RFID TEKNOLOJİSİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

BM-311 Bilgisayar Mimarisi

Donanımlar Hafta 1 Donanım

ASENKRON (Eş Zamanlı Olmayan) HABERLEŞME ARA YÜZEYİ

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

Embedded(Gömülü)Sistem Nedir?

STM32F4 Kiti ile Simulink Tabanlı Kontrol Eğitimi Uygulamaları Geliştirme

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

Donanım İÇERİK. Bölüm 1:FATEK FBs PLC Serisine Genel Bakış. Bölüm 2:Sistem Mimarisi

İŞLETİM SİSTEMLERİ. (Operating Systems)

ADCCON1: MD1 EXT_REF CK1 CK0 AQ1 AQ0 T2C

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

DENEY-5. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Deney 2. Kesme Uygulamaları

MİKROİŞLEMCİLER LABORATUVARI İÇİN PROGRAM DERLEME VE YÜKLEME DOKÜMANI

Ek bilgi Internet:.../cecx

ATB200 GPRS / GPS Tabanlı Filo Yönetim Terminali. Bilgi Dokümanı. 1

Hacettepe Robot Topluluğu

Bununla birlikte WiSeN sensör düğümü ile enerji, güvenlik, protokol vb. konularında birçok akademik çalışma gerçekleştirebilirsiniz.

RF Tabanlı Sayısal Veri Haberleşmesi

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

ESM-361 Mikroişlemciler. 1. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

EEM 419-Mikroişlemciler Güz 2016

BÖLÜM 7 Kesmeler.

Bölüm 9 A/D Çeviriciler

Bilgisayar ile Dijital Devrelerin Haberleşmesi. FT232R ve MAX232 Entegreleri. Çalışma Raporu

Bilgisayar Mimarisi ve Organizasyonu Giriş

ATB50. Bilgi Dokümanı. ATB50v1 GPRS / GPS Tabanlı Filo Yönetim Terminali. 1

KONTROL VE OTOMASYON KULÜBÜ

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

T.C. TURGUT ÖZAL ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ

Çalışma Açısından Bilgisayarlar

İşletim Sistemi. BTEP205 - İşletim Sistemleri

1S Servolarda Safety Over Ethercat (FSoE) İÇİNDEKİLER Giriş FSoE Protokolü hakkinda FSoE Aktivasyonu ve konfigürasyonu FSoE Safety Programı

1 ELEKTRONİK KAVRAMLAR

Transkript:

VII 1 GİRİŞ 1 Gömülü Sistemler (Embedded Systems) 1 Kitap Hakkında 2 Kitap Kimler İçin? 2 Kitabı Takip Edebilmek İçin Gerekenler 3 Kitabın İçeriği ve Uygulamaları 4 2 ARM İŞLEMCISI VE MIKRO-DENETLEYICILER 9 Mikroişlemciler (Microprocessors) 9 Merkezi İşlem Birimi (Central Processing Unit) 10 Hafıza (Memory) 12 Giriş-Çıkış Birimi (Input-Output) 13 Mikrodenetleyiciler (Microcontrollers) 13 Analog Arayüz 14 Paralel Arayüz 14 Seri Arayüz (Serial) 14 Zaman Arayüzü (Time) 14 ARM Temelleri 15 ARM Mimarisi 16 ARM Ailesi 18 Cortex-M İşlemci Mimarisi 19 İletişim Yolları (Bus) 20 Kaydediciler (Registers) 21 Hafıza (Memory) 22 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F407 23 STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30

VIII ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA STM32F4 Ailesi 33 STM32F407 Teknik Kılavuzları 34 STM32F407 Datasheet İncelemesi 34 STM32F407 Reference Manual 39 İncelemesi (Referans Kılavuzu) 39 STM32F407 Errata Sheet İncelemesi (Hata Kılavuzu) 49 STM32 Geliştirme Kartları 49 STM32F4DISCOVERY Kartı (STM32F407G-DISC1) 50 ST-LINK Programlayıcısı 54 4 STM32 KOD DERLEYICILERI 57 Atollic TrueSTUDIO 57 Atollic TrueSTUDIO Derleyicisi 57 Windows İşletim Sistemleri İçin Kurulumu 58 Linux İşletim Sistemleri İçin Kurulumu 64 Keil 70 Keil ve MDK-ARM 70 Windows İşletim Sistemleri İçin Kurulumu 70 Mbed Online Derleyici (Mbed OS) 74 5 STM32CUBE VE CUBEMX 77 HAL (Donanım Soyutlama Katmanı) Sürücüleri 78 Low Layer (Düşük Katman Sürücüleri -LL) 78 STM32CubeMX 79 Linux Tabanlı İşletim Sistemleri İçin CubeMX Kurulumu 80 Windows İşletim Sistemleri İçin CubeMX Kurulumu 82 6 DEBUG (HATA AYIKLAMA) VE GEREKLI DIĞER ARAÇLAR 85 Debug (Hata Ayıklama) 85 Debug Yapmak Neden Önemlidir? 85 Debug Yöntemleri ve Araçları 86 Logic Analyzer 89

IX ST-LINK Utility (ST-LINK Arayüz Uygulaması) 90 Windows İşletim Sistemleri İçin Kurulumu 90 7 PROJE OLUŞTURMA VE PROJE TEMELLERI 93 CubeMX Projesi Oluşturma 94 Atollic TrueSTUDIO Projesi Oluşturma 100 Keil Projesi Oluşturma 104 Registerlar 110 Registerlara Erişim 110 Registerlara Değer Girme ve Okuma 112 Proje Dosyaları 113 Startup (.s) Başlangıç Dosyası 113 System (.c) Kaynak Dosyası 113 Stm32f4xx (.h) Başlık Dosyası 113 Derleme, Debug ve Flash 114 Keil ve Atollic TrueSTUDIO İle Kod Derleme 114 Keil ve Atollic TrueSTUDIO İle Debug Ayarları ve Giriş 116 Keil ve Atollic TrueSTUDIO İle Derlenen Kodun Yüklenmesi (Flash) 119 8 RESET VE CLOCK CONTROL BIRIMI 121 Reset 121 Clock 122 STM32F4DISCOVERY 124 Kartı Kristalleri 124 RCC Registerları 126 STM32F4 Clock Ayarı 148 CubeMX Üzerinden Clock Ayarı 149 Register Seviyesinde (Low Level) 150 Clock Ayarı 150 9 GENEL AMAÇLI GIRIŞ-ÇIKIŞ BIRIMI (GPIO) 159 GPIO Özellikleri 159

X ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA Giriş ve Çıkış Modu 160 Analog Mod 160 Alternate Function (Değişmeli İşlev Modu) 161 STM32F4 Pin Listesi Ve Özellikleri 162 GPIO Registerları 169 Örnek GPIO Register Ayarı 178 10 KESME (INTERRUPT) 179 İç İçe Geçmiş Vektörlü Kesme Denetleyicisi Birimi (NVIC) 180 STM32F4 Interrupt Vektörleri 180 Cortex-M4 İşlemcisi NVIC Registerları 186 Cortex-M4 NVIC Fonksiyonları 191 Interrupt Önceliği (Priority) 193 Örnek NVIC Ayarı 194 11 TEMEL SAYAÇ (BASIC TIMER) 197 Basic Timer Özellikleri 197 Çalışma Mantığı 197 Basic Timer Diyagramları 199 Basic Timer Registerları 204 12 ANALOG DIJITAL DÖNÜŞTÜRÜCÜ (ADC) 209 ADC Genel Özellikleri 209 ADC Blok Diyagramı 209 ADC Pinleri 211 ADC Kontrol ve Clock 212 Dahili Sıcaklık Sensörü ve Pil Yönetimi İzleme 212 ADC Çalışma Grupları 213 ADC Regular (Düz) Grup 213 ADC Injected (Enjekte Edilmiş) Grup 213 ADC Modları 213 Single (Tek) Mod 213

XI Continuous (Sürekli) Mod 214 Scan (Tarama) Mod 214 Discontinuous Mod 214 Trigger (Tetikleme) Mod 215 Auto-Injection Mod 215 ADC Data Yönetimi 216 DMA lı Data Yönetimi 216 DMA sız Data Yönetimi 217 Data Örnekleme Zamanı 218 ADC Interruptları 218 Regular Grup Çevrim Sonu Interruptı 218 Injected Grup Çevrim Sonu Interruptı 218 Analog Watchdog Interruptı 219 Overrun Interruptı 219 ADC Registerları 220 13 GENEL AMAÇLI SAYAÇ TIM2...TIM5 (GENERAL-PURPOSE TIMERS) 237 Genel Özellikleri 237 Temel Çalışma Mantığı 238 Sayma Modları (Countıng Modes) 238 Yukarı Sayma Modu (Upcounting) 238 Aşağı Sayma Modu (Downcounting) 240 Hizalanmış Çift Mod (Center-aligned - Up/down Counting) 241 Çalışma Modları 242 Giriş Yakalama Modu (Input Capture) 242 Çıkış Karşılaştırma Modu (Output Compare) 243 Darbe Genişlik Modülasyonu Modu (PWM) 243 Tek Darbe Modu (One-pulse) 243 Clock Kaynağı Seçimi 244 Genel Amaçlı Sayaç TIM2...TIM5 Registerları 244 14 HARICI KESME (EXTERNAL INTERRUPT - EXTI) 263

XII ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA EXTI Genel Özellikleri 263 EXTI Blok Diyagramı 264 EXTI Hatları 265 EXTI Birimi Interrupt Vektörleri 266 SYSCFG Birimi 268 EXTI Registerları 268 EXTI Registerları 271 15 RASTGELE SAYI ÜRETECI (RANDOM NUMBER GENERATOR / RNG) 275 RNG Genel Özellikleri 275 RNG Blok Diyagramı 275 RNG Hata Yönetimi 276 Rastgele Üretilen Sayıların Kullanım Amacı 277 RNG Registerları 278 16 GERÇEK ZAMANLI SAAT (REAL TIME CLOCK - RTC) 281 RTC Kullanımı İçin Ön Bilgiler 281 Binary Coded Decimal - BCD (İkili Kodlu Onlu Sayı) 281 Backup Domain (Yedek Etki Alanı) 282 RTC Genel Özellikleri 283 RTC Kullanım Amaçları 284 RTC Clock Seçenekleri 285 RTC Takvim (Calendar) 286 RTC Alarm 287 RTC Giriş ve Çıkışlar 287 RTC Alarm Çıkışı 287 RTC Tamper Girişi 287 RTC Kalibrasyon Clock Çıkışı 287 RTC Başlatma Ayarları 288 RTC Birimi Interrupt Vektörleri 289 RTC Registerları 290

XIII 17 EVRENSEL ASENKRON ALICI VERICI BIRIMI (UART) 311 UART Genel Özellikleri 311 UART Blok Diyagramı 312 UART Pinleri 313 UART Data Frame (Veri Çerçevesi) 313 Idle Frame (Boş Damga) 314 Break Frame (Hat Kesme) 315 Parity Kontrol (Eşlik) 315 UART Oversampling - OVER8 (Yüksek Hızda Örnekleme) 316 Receiver (Alıcı) 318 Transmitter (Verici) 318 Haberleşme Hata Durumları 319 Overrun Hatası (Taşma) 319 Noise Hatası (Gürültü) 319 Frame Hatası (Veri Çerçevesi Hatası) 320 Hardware Flow Control (Donanımsal Akış Kontrolü) 320 USART Registerları 321 18 SERI ÇEVRESEL ARAYÜZ HABERLEŞMESI (SPI) 329 SPI Genel Özellikleri 329 SPI Blok Diyagramı 330 SPI Pinleri 330 NSS Pin Yönetimi 331 SPI Data Frame (Veri Çerçevesi) 332 SPI Clock Seçenekleri (Hız, Kutup ve Faz) 333 SPI Çalışma Modları 335 Master Mod 335 Slave Mod 336 SPI Durum Bayrakları 337 SPI Haberleşme Modları Ve Data Yönetimi 338 Full-Duplex Mod 338 Half-Duplex Unidirectional Mod (Tek Yönlü) 340

XIV ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA Half-Duplex Bidirectional Mod (Çift Yönlü) 341 SPI Registerları 342 19 DOĞRUDAN BELLEK ERIŞIMI (DIRECT MEMORY ACCESS) 347 DMA Genel Özellikleri 347 DMA Blok Diyagramı 348 DMA Kanalları 348 DMA Akış Modları 350 DMA Çalışma Modları 352 DMA Dairesel Mod (Circular) 352 DMA Çift Tampon Modu (Double Buffer) 352 DMA FIFO 353 DMA Interruptları 354 DMA Registerları 354 20 GÖMÜLÜ FLASH BELLEK ARABIRIMI (EMBEDDED FLASH MEMORY INTERFACE) 365 Flash Genel Özellikleri 365 Flash Bölümleri 367 Flash Koruması 368 Flash-Okuma (Read) 368 Flash-Yazma (Write/Program) 369 Flash-Silme (Erase) 369 Flash Interruptları 370 Flash Registerları 370 21 UYGULAMALAR 375 Uygulama-1: LED Yakıp Söndürme (Blinking LED) 375 Amaç ve Yöntem 375 CubeMX İle Projenin Oluşturulması 376 GPIO HAL Kütüphanesi ve Fonksiyonları 378 Atollic TrueSTUDIO veya Keil İle Kodlama 379

XV Low Level Kodlanması 382 Uygulama-2: SysTick Sayacı ve Kesmesi (SysTick Timer) 384 Amaç ve Yöntem 384 SysTick Hakkında 385 SysTick Registerları 385 CubeMX İle Projenin Oluşturulması 387 SysTick HAL Kütüphanesi Fonksiyonları 389 Atollic TrueSTUDIO veya Keil İle Kodlama 390 Low Level Kodlanması 392 Atollic TrueSTUDIO veya Keil İle Kodlama 392 Low Level Uygulamalar İçin Delay Fonksiyonu Yazılması 395 Uygulama-3:Timer7 Birimi Kesmesi 398 Amaç ve Yöntem 398 CubeMX İle Projenin Oluşturulması 399 Timer HAL Kütüphanesi ve Fonksiyonları 403 Atollic TrueSTUDIO veya Keil İle Kodlama 403 Low Level Kodlanması 405 Atollic TrueSTUDIO veya Keil İle Kodlama 405 Uygulama-4: 3 Kanal Injected Grup ADC ve Kesmesi 409 Amaç ve Yöntem 409 CubeMX İle Projenin Oluşturulması 412 ADC HAL Kütüphanesi ve Fonksiyonları 417 Atollic TrueSTUDIO veya Keil İle Kodlama 418 Low Level Kodlanması 421 Atollic TrueSTUDIO veya Keil İle Kodlama 421 Debug İle Değişkenlerin İzlenmesi 424 Uygulama-5: TIM4 İle 4 Kanal PWM 426 Amaç ve Yöntem 426 CubeMX İle Projenin Oluşturulması 428 Timer HAL Kütüphanesi ve Fonksiyonları 432 Atollic TrueSTUDIO veya Keil İle Kodlama 433

XVI ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA Low Level Kodlanması 435 Atollic TrueSTUDIO veya Keil İle Kodlama 435 Logic Analyzer Veya Osiloskop İle Sinyallerin İzlenmesi 439 Uygulama-6: TIM3 Tetikli ADC Kesmesi 440 Amaç ve Yöntem 440 CubeMX İle Projenin Oluşturulması 442 Gerekli HAL Timer ve ADC Fonksiyonları 450 Atollic TrueSTUDIO veya Keil İle Kodlama 451 Low Level Kodlanması 453 Atollic TrueSTUDIO veya Keil İle Kodlama 453 Uygulama-7: PWM Giriş Mod (Input Capture) 458 Amaç ve Yöntem 458 PWM Okuma Yöntemi 460 CubeMX İle Projenin Oluşturulması 462 Gerekli HAL Timer Fonksiyonları 467 Atollic TrueSTUDIO veya Keil İle Kodlama 468 Low Level Kodlanması 471 Atollic TrueSTUDIO veya Keil İle Kodlama 471 Debug İle Değişkenlerin İzlenmesi 476 Uygulama-8: Dahili Buton İle Harici Kesme Oluşturma (External Interrupt) 478 Amaç ve Yöntem 478 CubeMX İle Projenin Oluşturulması 479 Atollic TrueSTUDIO veya Keil İle Kodlama 482 Low Level Kodlanması 483 Uygulama-9: Rastgele Sayı Üretimi (RNG) 486 Amaç ve Yöntem 486 CubeMX İle Projenin Oluşturulması 487 RNG HAL Kütüphanesi ve Fonksiyonları 487 Atollic TrueSTUDIO veya Keil İle Kodlama 488 Low Level Kodlanması 490 Atollic TrueSTUDIO veya Keil İle Kodlama 490

XVII Uygulama-10: Takvim Ve Alarm Kesmesi (RTC) 493 Amaç ve Yöntem 493 CubeMX İle Projenin Oluşturulması 494 RTC HAL Kütüphanesi ve Fonksiyonları 499 Atollic TrueSTUDIO veya Keil İle Kodlama 501 Low Level Kodlanması 502 Atollic TrueSTUDIO veya Keil İle Kodlama 502 Uygulama-11: Kesmeli UART Haberleşme Ve LED Kontrolü 511 Amaç ve Yöntem 511 CubeMX İle Projenin Oluşturulması 513 UART HAL Kütüphanesi ve Fonksiyonları 516 Atollic TrueSTUDIO veya Keil İle Kodlama 517 Low Level Kodlanması 521 UART Baud Rate Hesabı 521 Atollic TrueSTUDIO veya Keil İle Kodlama 523 Seri Port Terminal Programı 528 Windows İşletim Sistemleri İçin Terminal Programı 528 Linux Tabanlı İşletim Sistemleri İçin Terminal Programı 530 Uygulama-12: SPI İle Dahili 3 Eksenli Hareket Sensörü Haberleşmesi 533 Amaç ve Yöntem 533 LIS3DSH Modülü 535 LIS3DSH Pinleri 535 LIS3DSH Ve SPI Arayüzü 536 LIS3DSH Registerları 538 CubeMX İle Projenin Oluşturulması 545 SPI HAL Kütüphanesi ve Fonksiyonları 550 Atollic TrueSTUDIO veya Keil İle Kodlama 551 Low Level Kodlanması 557 Atollic TrueSTUDIO veya Keil İle Kodlama 557 Uygulama-13: DMA Üzerinden Çok Kanallı Regular Grup ADC 568 Amaç ve Yöntem 568

XVIII ARM CORTEX-M4 TABANLI MİKRODENETLEYİCİ PROGRAMLAMA CubeMX İle Projenin Oluşturulması 569 ADC-DMA HAL Kütüphanesi ve Fonksiyonları 574 Atollic TrueSTUDIO veya Keil İle Kodlama 574 Low Level Kodlanması 576 Atollic TrueSTUDIO veya Keil İle Kodlama 576 Uygulama-14: Flash Hafızaya Yazma-Silme Uygulaması 581 Amaç ve Yöntem 581 CubeMX İle Projenin Oluşturulması 582 FLASH HAL Kütüphanesi ve Fonksiyonları 582 Atollic TrueSTUDIO veya Keil İle Kodlama 583 Low Level Kodlanması 584 Atollic TrueSTUDIO veya Keil İle Kodlama 584