Projeler Eşliğinde Arm İşlemci Programlama Arm Mbed OS, RTOS, Thread, RTC, Multi Tasking Mehmet Akif Arvas  - Kitap
Projeler Eşliğinde

Arm İşlemci Programlama

Arm Mbed OS, RTOS, Thread, RTC, Multi Tasking

2. Baskı, 
Haziran 2021
Kitabın Detayları
Dili:
Türkçe
Ebat:
16x24
Sayfa:
432
Barkod:
9789750269424
Kapak Türü:
Karton Kapaklı
Kitabın Fiyatı:
405,00
İndirimli (%51):
199,00
Stoktan hemen gönderilir.
Kitabın Açıklaması
Tüm elektronik, yapay zeka ve kontrol ünitelerinin büyük bir bölümünde, Arm işlemci kullanılmaktadır.
Kitapta Arm yapısının karmaşıklığını gideren, kullanıcıya basit arayüz ve anlaşılır kod yapısıyla projeler gerçekleştirmeye yarayan, MBED OS online platformu kullanarak konular anlatılmıştır. Ek olarak, Türkiye'de ilk defa bir kitabın içinde CubeMX/Keil platformu anlatılmış, anlatılan konular, 110 farklı ve denenmiş projeler ile konuların daha iyi anlaşılması sağlanmıştır.
Yine aynı şekilde C/C++ ile yazılmış kod yapıları da sade ve basit bir dille anlatılmaya çalışılmıştır. Kitaptaki örnek projelere bakarak, kendi özgün projenizi oluşturabilir veya bu projeleri kendi sisteminizde kullanabilirsiniz.
Kitapta yer alan denenmiş ve çalıştırılmış 110 projenin uygulama kodlarını www.seckin.com.tr'den indirebilirsiniz.
Kitabın Konu Başlıkları
.
Gömülü Yazılım Geliştirme
.
Cortex Mikrodenetleyici Yazılım Arayüzü Standardı (CMSIS)
.
Online Arm Mbed OS
.
Sensör Kullanımları
.
Managing Tasks (Görevleri Yönetme)
.
RTOS (Real Time Operation System)
.
Thread (İş Parçacıkları) Oluşturma
.
Dosya Veri Yazma
.
Okuma İşlemleri
.
Kablolu ve Kablosuz Veri Aktarma
.
Mühendislik Uygulamaları
.
RTC ve Güç Yönetimi
.
+ STM32CubeMX
.
Keil ile Arm Programlama
Kitabın İçindekileri
Ö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
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