Bilgi ve Uygulama

İsmail Sahillioğlu

ismailsahillioglu@gmail.com

Mersin'de doğdum. Sekiz yıllık temel eğitim ve beş yıllık mesleki eğitimden sonra elektrik - elektronik sektöründe iş hayatına başladım. Etkin olarak gömülü sistemler ve sistem geliştiriciliği, ayrıca bu gömülü sistemlerle birlikte çalışabilecek mobil uygulama geliştiriciliği ile uğraşmaktayım.
22.04.2021
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 (carriage return - satır başı) karakteri var. Ne olacak şimdi?
18.04.2021
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.
23.01.2021
Bir değerin bellekte temsil edilecek türünü değiştirmeye tür değiştirme denir. Temsil edilecek dememden kasıt şudur ki; mikrodenetleyicilerde veriler yalnızca ikilik (binary) olarak işlenebildiğinden, yazılım kodlarken kullanılan sabit ya da değişken değerlerin ikilik formatta nasıl organize edileceğinin belirlenmesi gerekir. Bilindiği üzere 8-bitlik bir mikrodenetleyici tek bir yazmacında en fazla 28 (256) sayısına denk gelecek kadar ikilik veri tutabilir. Bu değeri aşan değerlerin birden çok yazmaçlara dağıtılıp organize edilmesi gerekir.
06.12.2020
İşleçler, kod yazarken aritmetik, mantıksal, karşılaştırma ve dile özel bazı işlevleri gerçekleştirmeye yararlar. JAL 2. versiyonu itibariyle aşağıdaki işleçleri desteklemektedir.
31.08.2020

Rumuzlar (takma adlar) birden çok tanımlayıcının (değişkenler, adlandırılmış sabitler, alt programlar) aynı nesneye başvuru yapabilmesine izin verirler. Bir rumuz aşağıdaki biçimde tanımlanır:

ALIAS rumuz_tanimlayici IS gercek_tanimlayici

Çoğu zaman bir değişken ya da sabite birden çok ad ile başvuru yapılabilmesi yararlıdır. Kod yazarken bazı başvurular için rumuzların kullanılması kodlamayı yapan kişi açısından daha akılda kalıcı olur. Buna rastlayabileceğimiz en sık örneklerden biri; giriş - çıkış uçlarının pin_a1, pin_c3 gibi tanımlayıcılar yerine...

18.08.2020
Bluetooth Açma, Kapatma, Durum Bilgisi Alma

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:

1- Bluetooth donanımını etkinleştirme
2- Bluetooth donanımını etkisizleştirme
3- Bluetooth donanımının durumunu BroadcastReceiver kullanarak alma olacaktır.
17.08.2020
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. 
21.03.2020
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)..
19.10.2019

1. Adlandırılmamış Sabitler

Adlandırılmamış bir nümerik sabit, 32-bit işaretli değer olan bir UNIVERSAL türdedir. Bu sabit değerler genelde önişlemlerde (preprocessing) veya değişkenlere atamalarda kullanılan değerlerdir. Bir işlemde UNIVERSAL türü bir sabit değer kullanıldığında, bu tür, diğer operandın türüne çevrilir. Örneğin WORD türünde bir değişken ya da sabit operanda 12739 UNIVERSAL türdeki değer atanırsa, bu UNIVERSAL tür normalde işaretli 32 bit olmasına rağmen WORD türüne çevrilir...

15.09.2019
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:...
27.07.2019
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 kayıt oluşturulduktan sonra, basit bir türün kullanıldığı herhangi bir yerde kullanılabilir. Kaydın dahili alanlarına '.' işleci kullanarak erişilir.
20.07.2019
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 öğeleri"} ...
20.07.2019
JAL v2 derleyicisi yalnızca aşağıdaki türleri tanır...
...
En büyük türler,  WORD SWORD,  DWORD,  SDWORD genişlik belirticisini kullanarak basitçe temel türlerden türetilmiştir. Örneğin WORD BYTE*2’ye eşittir, sonuncusu yani BYTE*2, biçimlendirici ile diğerinin alternatifi olarak kullanılabilir...
10.04.2019
Değişkenler  programlama dillerinin vazgeçilmez öğelerindendir. Değişkenler program yazarken, bellek konumlarının adres sayılarını kullanmak yerine benzersiz bir adla ilişkilendirip bu konumlar üzerinde veri organizasyonu yapmamızı sağlar. Biz insanlar için adlarla çalışmak sayılarla çalışmaktan daha kolaydır.
26.03.2019
JAL "Just Another Language" sözcüklerinin kısaltılmışıdır. Türkçeye, "Yalnızca Başka Bir Dil" olarak çevrilebilir. Microchip firmasının 8-bit PIC mikordenetleyicileri için geliştirilen açık kaynaklı, yüksek-düzeyli ve ücretsiz bir programlama dilidir.
18.04.2017
PIC denetleyicilerde; her biri 8-bit genişliğinde olan, Special Function Registers/Özel İşlev Yazmaçları ve General Purpose Registers/Genel Amaçlı Yazmaçların bulunduğu veri bellekleri haritalandırılmış bir yapıya sahiptir. Bu bellek haritası modelden modele değiştiğinden dolayı burada yalnızca PIC16F628A modelinin veri belleği yapısından ve bu bellekte verinin nasıl işlenebileceği ve yönetilebileceğinden söz edeceğim.
16.03.2017
Bu program başlangıç düzeyinde olanların Assembler'da tuşların nasıl taranıp, girilen değerin nasıl 7-Parçalı bir LED göstergede gösterilebileceğini kavrayabilmesi için yapılmştır.
24.02.2017
Kontrol devresi şekilde de görüldüğü gibi bir sıfırlama(RESET) girişi, 2 motorun denetimini yapan 1-başlat, 1-durdur buton girişi, Aşırı Akım Rölesinden gelen 2 sinyal bilgisi girişi, 2 hata düzeltildi onay butonu girişi, 2 adet Motor1 ve Motor2 çıkışı, 2 hata göstergesi çıkışı ve sayaç devresini süren 3 uçtan oluşmaktadır. 6-harici giriş, 4-harici çıkış ve 3-dahili çıkış olmak üzere toplam 13 adet giriş-çıkış ucu kullanılmıştır.
20.02.2017
PIC18 serisinde Assembly ile programlama yaparken özellikle BANK blokları ve yazılımda nasıl yönetilmesi gerektiği konusunda afallayacaklardır. Ancak düşünülenin aksine PIC18 serisinde bank yönetimine gerek yoktur, eğer RAM de çok büyük miktarlarda veri saklanması gerekmiyorsa BANK sistemini kullanmaya hiç gerek yoktur.
Konular