İÇİNDEKİLER
İçindekiler
Önsöz 5
Gömülü Yazılım Geliştirme 21
Cortex Mikrodenetleyici Yazılım Arayüzü Standardı (CMSIS) 21
CMSIS–DSP: Dijital Sinyal İşlemenin Hızlı Uygulanması 22
CMSIS–Pack: Yeniden Kullanılabilir Yazılım Bileşenlerine Kolay Erişim 22
Arm Uygulama Geliştirme Ortamları 22
1. Arm Keil 22
2. IAR Ewarm 23
3. TrueSTUDIO for STM32 23
4. Online Arm Mbed OS 23
Bağlantı 24
Güvenlik 24
Kolay Kullanım 25
Arm Mbed Ortakları 26
Arm Mbed OS 26
Mbed OS Seri Port İşlemleri 27
STM32 Nucleo F411RE Kartı Özellikleri 28
Harici Usb Programlama Bölümü 31
NUCLEO F411 Pin Numaraları 32
STM32 NUCLEO Model Türleri 38
1. Bölüm
Fonksiyon Kullanımları
Escape İşaretleri 41
C/C++ Data Tipleri 41
Integer Data Tipleri 41
Float Data Tipleri 42
Seri Port Ekran Çıktısı 42
Ekrana Yazdırma İşlemlerinde Kullanılacak Belirteçler 42
Proje Oluşturma 43
Yeni Proje Açmak İçin 44
Kütüphane Dosyası Ekleme 44
Yeni Kod Çalışma Sayfası 45
Analog I/O (Giriş Çıkış) 46
Analog Input (Giriş) 46
AnalogIn Fonksiyonları 47
Potansiyometre ile Analog Giriş Okuma 48
Uygulama Kodu 48
Uygulama Devresi 49
Uygulama Çalışma Görüntüsü 49
Seri Port Ekran Çıktısı 50
Analog Output (DAC Çıkış) 50
AnalogOut Fonksiyonları 50
Digital I/O (Dijital Giriş Çıkış) 52
DigitalIn (Dijital Giriş) 52
DigitalIn Fonksiyonları 52
Button ile Led Yakma 52
Uygulama Devresi 52
Uygulama Çalışma Görüntüleri 53
Uygulama Kodları 53
DigitalOut (Dijital Çıkış) 54
DigitalOut() Fonksiyonları 54
Flip–Flop (Flaşör) Uygulaması 54
Uygulama Devresi 54
Uygulama Kodu 55
Karaşimşek Uygulaması 55
Uygulama Devresi 55
Uygulama Kodu 56
Button Kontrollü Karaşimşek Uygulaması 56
Uygulama Devresi 56
Uygulama Kodu 57
DigitalInOut (Dijital Giriş Çıkış) 57
DigitalInOut Fonksiyonları 58
Button ve Led Diyodun Aynı Pinden Kontrol Uygulaması 58
Uygulama Devresi 58
Uygulama Çalışma Görüntüsü 59
Uygulama Kodu 60
BusIn() Fonksiyonu 61
Kullanılan Fonksiyonları 61
Uygulama Devresi 61
Uygulama Kodları 62
BusOut() Fonksiyonu 62
Kullanılan Fonksiyonlar 63
Uygulama Devresi 63
Uygulama Kodları 64
Karaşimşek Uygulaması (BusOut ve For ile Kullanımı) 64
Uygulama Devresi 64
Uygulama Kodu 65
PortIn Fonksiyonu 65
Kullanılan Fonksiyonlar 65
Uygulama Devresi 66
Uygulama Çalışma Görüntüleri 66
Uygulama Kodu 67
PortOut Fonksiyonu 67
Kullanılan Fonksiyonlar 68
Uygulama Devresi 68
Uygulama Çalışma Görüntüleri 68
Uygulama Kodları 70
DigitalInOut ve PortOut Fonksiyonları Örneği 70
Uygulama Devresi 71
Uygulama Kodu 72
PortInOut Fonksiyonu() 72
Uygulama Devresi 73
Uygulama Çalışma Görüntüleri 73
Uygulama Kodları 74
PwmOut() Fonksiyonu 75
Kullanılan Fonksiyonlar 75
Uygulama Devresi 75
Uygulama Kodu (Volatj Ayarlı) 76
Uygulama Kodu (Peryot Ayarlı) 76
Önemli Ayrıntılar 77
Pwm ile Dc Motor Hız Kontrolü 77
Uygulama Devresi 77
Uygulama Kodu 78
InterruptIn() Fonksiyonu 78
Kullanılan Fonksiyonlar 79
Uygulama Devresi 79
Uygulama Kodu 80
2. Interrupt Start/Stop Uygulaması 80
Uygulama Devresi 80
Uygulama Kodu 81
Ticker Fonksiyonu 81
Uygulama Devresi 82
Uygulama Kodu 82
Timeout Fonksiyonu 83
Uygulama Devresi 83
Uygulama Kodu 84
Timer Fonksiyonu 84
Uygulama Devresi 85
Uygulama Kodu 85
Timer ile Led ve Dc Motor Kontrolü 85
Uygulama Devresi 86
Uygulama Kodu 86
LowPowerTicker Fonksiyonu 87
Uygulama Devresi 87
Uygulama Kodu 87
LowPowerTimeout Fonksiyonu 88
Uygulama Kodu 88
Uygulama Kodu 88
LowPowerTimer Fonksiyonu 89
Örnek Uygulama 89
RawSerial Fonksiyonu 89
Kullanılan Bazı Fonksiyonlar 90
Örnek Uygulama 91
Serial Fonksiyonu 91
Uygulama Örneği 93
Uygulama Örneği 93
String Girilen İfadeyi Karşılaştırma 94
Uygulama Örneği 94
Uygulama Ekran Çıktısı 95
SPI Fonksiyonu 96
2. Bölüm
RTOS (Real Time Operation System)
Managing Tasks (Görevleri Yönetme) 99
RTOS (Real Time Operation System) 99
main() Fonksiyonu 100
Thread (İş Parçaları) Sınıfı Fonksiyonları 100
Public Member Functions 100
Static Public Member Functions (Statik Genel Üye Fonksiyonları) 102
Uygulama Devresi 102
Uygulama Kodu 103
Uygulama Kodu (MBED–OS 2) 105
Geri Aramalı Thread Örneği 106
Uygulama Kodu 106
RTOS, Timer ve Thread’ler Arasında Geçişler Uygulaması 106
Uygulama Devresi 107
Uygulama Kodu 107
Uyku Modu ve RTOS Innactive Bölümü ile ilgili Önemli Not 108
Mutex Fonksiyonu 110
Semaphore Fonksiyonu 111
Signals Fonksiyonu 113
Queue and MemoryPool Fonksiyonu 113
Queue 113
MemoryPool 114
Uygulama Örneği 114
Mail Fonksiyonu 116
RtosTimer Fonksiyonu 117
EventFlags Fonksiyonu 118
Event Fonksiyonu 119
Uygulama Kodu 121
Uygulama Devresi 121
ConditionVariable Fonksiyonu 122
3. Bölüm
RTC ve Güç Yönetimi
Arm Platform Bölümü 127
RTC ve Time Fonksiyonu 127
Uygulama Örneği 127
Uygulama Asıl Kodu 129
RTC ile Alarm Uygulaması 130
Uygulama Kodu 130
RTC Uygulama Örneği (Seri Port ile Ayarlama) 130
Güç Yönetimi (Power Management) 131
Uyku Modları 131
Uyku Modu 132
Derin Uyku Modu 132
Uyku Yöneticisi 132
Uygulama Kodu 133
4. Bölüm
Metinsel ve Matematiksel Fonksiyonlar
Metinsel (String Fonksiyonları) 137
1. String length() Fonksiyonu 137
Uygulama Kodu 137
2. String find() Fonksiyonu 138
Uygulama Kodu 138
3. String compare() Fonksiyonu 139
Uygulama Kodu 139
4. String size() Fonksiyonu 139
Uygulama Kodu 140
5. String empty() Fonksiyonu 140
Uygulama Kodu 141
6. String strtok() Fonksiyonu 141
Uygulama Kodu 142
7. String toupper() ve tolower() Fonksiyonları 143
Uygulama Kodu 143
8. String begin() ve end() Fonksiyonları 144
Uygulama Kodu 144
Matematiksel Fonksiyonlar 144
Trigonometrik Fonksiyonlar 145
Cosinus Fonksiyonu 145
Uygulama Örneği 145
Sinus Fonksiyonu 146
Uygulama Örneği 146
Tanjant Fonksiyonu 146
Uygulama Örneği 146
Arc Cocinus Fonksiyonu 147
Uygulama Örneği 147
Arc Sinus Fonksiyonu 148
Uygulama Örneği 148
Arc Tanjant Fonksiyonu 149
Uygulama Örneği 149
Üstel ve Logaritmik Fonksiyonlar 149
Exp Fonksiyonu 150
Uygulama Örneği 150
Logaritma(Log) Fonksiyonu 150
Uygulama Örneği 150
Logartitma 10 Ttabanında (log10) Fonksiyonu 151
Uygulama Örneği 151
Karekök, Üslü İfade Alma ve Mutlak Değer Fonksiyonları 152
Pow Fonksiyonu 152
Uygulama Örneği 152
Sqrt Fonksiyonu 153
Uygulama Örneği 153
Abs Fonksiyonu 154
Uygulama Örneği 154
5. Bölüm
Dosya Yazma İşlemleri
Sd Karta Yazma ve Okuma 157
Uygulama Devresi 157
Uygulama Kodu 158
C++ Dosya Veri Yazma/Okuma İşlemleri 158
Fopen Fonksiyonu 158
Fopen Parametreleri 159
feof Fonksiyonu 159
6. Bölüm
Uygulama Projeleri
Uygulama Projeleri 163
Servo Motor Kontrolü 163
Uygulama Devresi 163
Uygulama Kodu 163
Potansiyometre ile Servo Motor Kontrolü 164
Uygulama Devresi 164
Uygulama Kodu 165
Ticker ile Led ve Servo Motoru Bağımsız Çalıştırma 166
Uygulama Devresi 166
Uygulama Kodu 166
Lcd Ekran Uygulaması 167
Lcd Ekran Çalışma Fonksiyonları 167
Uygulama Kodu 169
Uygulama Devresi 170
I2C’siz LCD Ekran Kullanımı 171
Uygulama Devresi 172
Uygulama Kodu 173
Keypad Lcd Ekran Kullanımı Uygulaması 173
Uygulama Devresi 174
Uygulama Kodu 174
Keypad ile Röle Kontrolü Uygulaması 175
Uygulama Devresi 176
Uygulama Kodu 176
Keypad ile Şifreli Giriş Uygulaması 177
Uygulama Devresi 177
Uygulama Kodu 177
Step Motor Kontrol Uygulaması 178
28byj–48 Step Motor Özellikleri 179
Uygulama Devresi 179
Uygulama Kodu 180
Otomatik Perde Açma/Kapama 180
Uygulama Devresi 181
Uygulama Kodu 182
RFID (Kart Okuyucu) Uygulaması 184
Uygulama Devresi 185
Uygulama Kodu 185
Uygulama Kodu 2 187
Bluetooth ile Bilgisayar Arası Veri Haberleşme Uygulaması 188
HC–05 veya 06 Datasheet 188
Uygulama Devresi 189
Uygulama Kodu 189
Telefon ile Android Uzaktan Kontrol Uygulamaları 190
Cihaz Kontrol Uygulaması (Ücretsizdir) 191
Uzaktan Kumanda Uygulaması 191
Bluetooth Kontrol Uygulaması 192
Bluetooth Modülün Ayarlarını Değiştirme (AT COMANDS) 192
Uygulama Devresi 192
Uygulama Kodu 196
Bluetooth Low Energy (BLE) 196
Diğer Bluetooth Companentleri 197
Uygulama Kodu 198
Sıcaklık ve Nem Ölçer Uygulaması 201
Uygulama Devresi 201
Uygulama Kodu 202
Buzzer Kullanımı Uygulaması 203
Uygulama Devresi 204
Uygulama Kodu 204
Sıcaklığa Göre Otomatik DC Motor Çalıştırma 204
Uygulama Devresi 205
Uygulama Kodu 205
Park Sensörü Uygulaması 206
Uygulama Devresi 206
Uygulama Kodu 206
RGB Led Kullanımı Uygulaması 207
Led Diyot Çalışma Gerilimleri 208
Uygulama Devresi 208
Uygulama Kodu 209
Bluetooth ile RGB Led Kontrolü 209
Uygulama Kodu 209
LDR (LIGHT DEPENDENT RESISTOR) Işık Sensörü Uygulaması 210
Uygulama Devresi 211
Uygulama Kodu 212
Bluetooth, Lcd ve Led Uygulaması (RTOS, Trhread Uygulamalı) 212
Uygulama Devresi 212
Uygulama Kodu 215
Step Motor, Servo Motor ve Led Diyodun Eş Zamanlı Çalışma Uygulaması(RTOS) 216
Uygulama Devresi 217
Uygulama Kodları 218
Ultrasonik Sensör ile Mesafe Değeri Okuma 221
Uygulama Devresi 223
Uygulama Kodu 223
Kapı Güvenlik Sistemi 225
Uygulama Devresi 227
Uygulama Kodu 228
Hesap Makinesi Uygulaması 230
Uygulama Devresi 231
Uygulama Kodu 233
Sıcaklık ve Tarih Saat Bilgisini Lcd Ekranda Gösterme 235
Uygulama Devresi 235
Uygulama Kodu 237
Renk Algılama Uygulaması 240
Uygulama Devresi 240
Uygulama Kodu 242
7. Bölüm
Mbed Os Online Platformda Olmayan Kartların Programlanması
Mbed Os Online Platformda Olmayan Kartların Programlanması 247
STM32 ST–LINK Utility Arayüz Ekran Görüntüsü 247
STM32F103C8T6 Arm İşlemci Kartı 249
Kart Özellikleri 249
Kart Üzerindeki Özellikler 250
Pin Çıkışları ve Özellikleri 250
Uygulama Kodu 252
STM32F103C8T6 ile DC Motor Çalıştırma 256
Uygulama Kodu 256
Uygulama Devresi 257
STM32F4 DISCOVERY Kartının Programlanması 258
Seed Arch Max pin Diyagramı 259
Export İşlemleri 260
Keil ile Programlama 260
8. Bölüm
Mbed CLI ve Mbed Studio
Offline Program Derleme ve Yükleme 265
Mbed CLI ile Offline Program Derleme ve Yükleme 265
Mbed CLI İçin Gereksinimler 266
Mbed Mbed Windows Installer 266
Python 266
Git ve Mercurial 267
GNU Arm Embedded Toolchain 269
Mbed CLI ile Örnek Program Yüklenmesi ve Derlenmesi 271
İmport Edilen Örneği Düzenleme/Değiştirme 277
Mbed CLI Export İşlemleri 281
Keil İçin Export İşlemleri 281
Mbed Studio 283
Mbed OS Blinky Örneği 284
Kurulum 284
Bir Blinky Programı Oluşturmak 284
9. Bölüm
CubeMX ile Arm Programlama
STM32CubeMX ile Arm Programlama 289
CubeMX ile İşlemci Konfigürasyonu 290
HAL_GPIO_WritePin 295
Fonksiyon Kullanımı 295
Fonksiyon Parametreleri 295
Uygulama Devresi 295
Uygulama Kodu 296
HAL_GPIO_TogglePin 301
Fonksiyon Kullanımı 302
Fonksiyon Parametreleri 302
Uygulama Devresi 302
Uygulama Kodu 303
HAL_GPIO_ReadPin 309
Fonksiyon Kullanımı 309
Fonksiyon Parametreleri 309
Uygulama Devresi 309
Uygulama Kodu 311
Harici Button ile Led Yakma 317
Uygulama Devresi 317
Uygulama Kodu 319
DAC (Digital Analog Converter) 326
DAC Veri Formatı 326
Fonksiyon Kullanımı 326
Fonksiyon Parametreleri 326
Uygulama Devresi 326
Uygulama Kodu 327
Timers Donanım Birimleri 333
Timers ile Thread Oluşturma 334
Uygulama Devresi 334
Uygulama Kodu 337
PWM Üretimi 344
PWM Darbe Genişliği ve Peryodu Hesaplama 345
Prescaler ve Counter Period Neden Böyle Hesapladığımıza Gelelim 347
PWM İşlevini Başlatmak İçin 348
Uygulama Devresi 348
Uygulama Kodu 350
HAL_UART_Receive 357
Fonksiyon Kullanımı 358
Fonksiyon Parametreleri 358
Uygulama Devresi 358
Termite Programı 359
Uygulama Kodu 360
HAL_UART_Transmit 370
Fonksiyon Kullanımı 370
Fonksiyon Parametreleri 370
Uygulama Devresi 370
Uygulama Kodu 372
Bluetooth ile Cihaz Kontrolü 378
Uygulama Devresi 378
Uygulama Kodu 382
Analog Okuma 388
HAL_ADC_Start 388
Fonksiyon Kullanımı 388
Fonksiyon Parametreleri 388
Uygulama Devresi 388
Uygulama Kodu 391
Potansiyometre ile Led Parlaklık Seviyesi Uygulaması 399
Uygulama Devresi 399
Uygulama Kodu 401
ADC Multichannel Kullanımı 409
Uygulama Devresi 410
Uygulama Kodu 414
Kaynakça 423
Kavram Dizini 425
Yazarın Özgeçmişi 431 |