User account menu

  • Giriş yapın
Anasayfa
Kozmotronik Blog
Yıldız tozundan teknolojiye!

Main navigation

  • Anasayfa
  • Kategoriler
    • Elektronik
    • Programlama
      • Gömülü Programlama
      • Mobil Programlama
    • Programlama Dilleri
  • Seriler
    • Android Bluetooth Programlama
    • JAL Başvuru Kılavuzu
    • Görevci ile Sistem Programlama
  • Projeler
    • Görevci
  • Hakkında

Görevciye Genel Bakış

Yazar: İsmail Sahillioğlu | Kasım 25, 2023
Görevci
Görevci Tanıtım sayfasında Görevciyi kısaca tanıtmıştım. Bu yazıda, şöyle bir genel bakış yapalım istedim. Görevci nasıl edinilebilir, API'leri (Application Programming Interface, Uygulama Programlama Arayüzü) nelerdir, bir görevin yapısı kodda neye benzer gibi soruları kısaca yanıtlamaya çalışacağım. Hadi başlayalım. Görevciyi Edinme Görevci farklı yöntemlerle uygulamanıza tümleştirilebilir. Kaynak kodunu Github reposundan clon edip uygulamanın proje ağacına eklemek. Uygulamanızda git sürümleme kullanıyorsanız bir git alt modülü (submodule) olarak eklemek. Yakında CMake desteği eklenmesi de
Devamı
Görevci
C
Çoklu görev
Sistem programlama
Programlama

Görevci ile Sistem Programlama

Yazar: İsmail Sahillioğlu | Kasım 24, 2023
Görevci
Görevci tanıtımına hoş geldiniz! Zamanınız varsa, gelin önce biraz Görevciyi ve hikayesini tanıyalım... Görevcimiz, küçük çaplı mikrodenetleyiciler için geliştirilen gömülü projelerin kurtarıcısı! Görevci, uygulama yazdığım görece küçük 8-bit PIC mikrodenetleyiciler için eksikliğini hissettiğim çoklu görev yönetimi arayış ve ihtiyacından doğmuş bir projedir. Yalnızca tek bir 8-bitlik mikrodenetleyicinin, aygıtın bellek kaynakları yettiği kadar, tek bir CPU ile akıcı bir biçimde onlarca görevin üstesinden gelmesi ne kadar iyi olurdu değil mi? Diğer bir deyişle mümkün olan en az kaynakla, mümkün
Devamı
Görevci
C
Çoklu görev
Sistem programlama
Programlama

C scanf() ile Karakter Okuma Sorunu

Yazar: İsmail Sahillioğlu | Nisan 21, 2021
C Art
Eğer bu makaleyi buldunuz ve okuyorsanız yüksek ihtimalle siz de aynı sorundan müzdaripsiniz. C ile bir alıştırma veya uygulama yapıyorsunuz, klavyeden birkaç kez karakter veya string okumanız gerekiyor, aa, bir bakıyorsunuz ki arada bazı girişleri okuyamamışsınız, değişkenlerinizde yalnızca istenmeyen bir \n karakteri var. Ne olacak şimdi? Gelin örnek bir kodla sorunu irdeleyelim: #include int main() { char karakter0; char karakter1; char karakter2; char karakter3; printf("Karakter0: "); scanf("%c", &karakter0); printf("Karakter1: "); scanf("%c", &karakter1); printf("Karakter2: ")
Devamı
C
Standart kütüphane
stdio
scanf

Android İçin Düzey Göstergesi

Yazar: İsmail Sahillioğlu | Nisan 18, 2021
Android düzey göstergesi
Mobil uygulamalar geliştirirken bazı durumlarda kullanıcıya değişen düzey değerlerini uygulamamıza özel görseller kullanarak sunmamız gerekebilir. Bu, bir sürecin ilerleme düzeyi, bir pilin doluluğu, şebeke, wifi veya bluetooth gibi bir radyo sinyalinin gücü olabilir. Elbette bunu yapmanın birden çok yöntemi olabilir. Fakat burada gerçekleyeceğimiz yöntem Android ekosisteminin doğal gücünden yararlandığı için şu ana dek denediklerim arasında en verimli ve iyi bir görsel deneyim sağlayan yöntemdir. Bu yüzden bu yöntemi ileride böyle bir tasarım yapmak isteyecekler için paylaşıyorum. Bu örneği
Devamı
Android
Java
Drawable
Seekbar
Gösterge

Android Bluetooth Programlama 1

Yazar: İsmail Sahillioğlu | Ağustos 18, 2020
Android Bluetooth
Bluetooth programlamanın giriş yazısında kısa bir önbilgi vermiştik. Birinci bölüm olan bu bölümde bluetooth uygulama projemizi oluşturup ilk işlemleri gerçekleyeceğiz. İlk işlemlerimiz: Bluetooth donanımını etkinleştirme Bluetooth donanımını etkisizleştirme Bluetooth donanımının durum değişimini sistem tarafından bilgi alma olacaktır. Bluetooth'u etkinleştirme ve etkisizleştirme işlemini arayüzde basit bir tuş (button) kullanarak yapacağız. Ayrıca Android Studio'nun hata ayıklama (debug) ekranından yararlanarak program çalışırken neler olduğunu gözleyeceğiz. Başlamadan önce küçük bir not Ben
Devamı
Android
Bluetooth
Java
Programlama

Android Bluetooth Programlamaya Giriş

Yazar: İsmail Sahillioğlu | Ağustos 17, 2020
Android Bluetooth
Herkese merhaba, sayısını bilmediğim Java ile Android Bluetooth Programlama eğitim serisine başladım. Eğitim sayısının ucunu açık bıraktım ki; Android aygıtlarda bluetooth ile eğlenebildiğimiz kadar eğlenip konunun derinliklerine inelim. Bu seri basit bluetooth kontrol işlemlerinden başlayıp orta seviye bir bluetooth uygulamasına kadar gidebilir. Olabildiğince Türkçe kavramlar kullanacağım ve bu Türkçe kavramların yanlarına parantez içinde İngilizce özgün (original) olanlarını da yazacağım. Faydalı olması dileğiyle. Eğitime başlamadan önce bilgi edinmeniz önerilen konular: Ara-orta
Devamı
Android
Java
Bluetooth
Programlama

555 ile Yükselen ve Düşen Kenarlarda 1 Saniye Çıkış

Yazar: İsmail Sahillioğlu | Mart 21, 2020
555 yük-düş kenar 1sn çıkış
Merhabalar! İnternette karşılaştığım bir soru üzerine gerçeklediğim bir devreyi paylaşmak istiyorum. Soru şöyleydi: Butona 1 sefer bastığımda ne kadar basılı olursa olsun ilk bastığım andan itibaren 1 saniye çıkış verecek. Ne zaman elimi çekersem tekrar 1 saniye çıkış verecek bir devre (mikrodenetleyici istenmiyor)... Mikrodenetleyicisiz bir devre yapıldığında koşullar çoğaldıkça tasarlanacak devre karmaşıklaşacaktır. Basitliği sağlamak adına bu yüzden soru içindeki isteğin birinden feragat etmek durumundayız. Bu da, "Ne zaman elimi çekersem tekrar 1 saniye çıkış verecek" isteğidir. Peki neden
Devamı
Elektronik
555
Timer
Monostable

JAL | 2.4. Değişkenler

Yazar: İsmail Sahillioğlu | Eylül 15, 2019
JAL | Değişkenler
Basitçe bir değişken, değer tutan bir tanımlayıcıdır. Bu tanımlayıcılar, değeri tutmak için ne kadar boşluk gerektiğini belirleyen ilgili türlere sahiptir. Bu veri türleri hakkında bu yazıda söz etmiştik. Bir değişken tanımlayıcı için belirtilen veri türü bu değişken için bellekte ne kadar yer ayrılacağını belirler. JAL'ın kendi kılavuzunda tam değişken tanımlama formatı aşağıdaki gibidir: VAR [VOLATILE] [SHARED] tür[*sabitifade] tanımlayıcı [ '[' [ sabitifade ] ']' ] [ { AT sabitifade [ ':' bit ] | degisken [ ':' bit ] | '{' sabitifade1[',' sabitifade2...] '}' | IS degisken } [ '=' sabitifade
Devamı
Başvuru kılavuzu
JAL
Programlama dilleri
Programlama

JAL | 2.3. Kayıtlar (Records)

Yazar: İsmail Sahillioğlu | Temmuz 27, 2019
JAL | Kayıtlar
Kayıtlar (Records); diziler, değişkenler, ve kayıtlar da dahil olmak üzere diğer yerleşik türleri de içinde barındırabilen ve bu farklı veri alanlarını bir paket haline getiren özel türlerdir. JAL dilinin bu özel türü C dilinde yine özel bir tür olan struct ile benzerlik gösterir. Bir kaydın nasıl tanımlandığına bakalım: record "tanımlayıcı" is "tür1" "tanımlayıcı1" ... end record Bir kayıt oluşturulduktan sonra, basit bir türün kullanıldığı herhangi bir yerde kullanılabilir. Kaydın dahili alanlarına ( .) işleci kullanılarak erişilir. Konuyu pekiştirmek için bir örnek yapalım; 20 baytlık bir
Devamı
Başvuru kılavuzu
JAL
Programlama
Programlama dilleri

JAL | 2.2. Diziler

Yazar: İsmail Sahillioğlu | Temmuz 20, 2019
JAL | Diziler
JAL tek boyutlu değişken dizileri oluşturabilir ve bunları organize edebilir. Bit türü dizi oluşturmak için kullanılamaz, donanım yapısına uygun değildir. Bit dışındaki türlerin herhangi biriyle değişken dizileri oluşturulabilir. Dizi tanımlama biçimi aşağıdaki gibidir: VAR "değişken türü" "değişken adı" ["dizi niceliği"] = {"dizi ögeleri"} dizi ögeleri 0'dan itibaren sayılandırılmaya başlanır ve son indeks dizi niceliği - 1 olur. Örneğin dizi niceliği 5 olarak tanımlanırsa, dizi ögeleri'nin indeksleri aşağıdaki gibi olacaktır: İndeks Ögeler 0 öge1 1 öge2 2 öge3 3 öge4 4 öge5 Dizinin ögelerine
Devamı
Başvuru kılavuzu
JAL
Programlama dilleri
Sayfalama
  • Şu an kullanılan sayfa 1
  • Sayfa 2
  • Sonraki sayfa Sonraki ›
  • Son sayfa Son »
Abone ol

Projeler

Görevci

Aylık arşiv

  • Şubat 2017 (2)
  • Mart 2017 (1)
  • Nisan 2017 (1)
  • Mart 2019 (1)
  • Nisan 2019 (1)
  • Temmuz 2019 (3)
  • Eylül 2019 (1)
  • Ekim 2019 (1)
  • Mart 2020 (1)
  • Ağustos 2020 (3)
Sayfalama
  • Sayfa 1
  • Sonraki sayfa ››

Footer menu

  • İletişim

Copyright © 2026 Kozmotronik Tech - All rights reserved

Kozmotronik Tech