Android Listview Kaydırma | Android Listview Scroll to the End

XML dosyanızda listviewin özelliklerine şunları ekleyin :

android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"

 

Node Js npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY Hatası

Yukarıdaki hatayı aldığınızda çözüm olarak şunu denemeniz yeterli olacaktır.

npm config set strict-ssl false

Alıntıdır : https://github.com/npm/npm/issues/9580

 

Morris JS – JSON Veriden Ymax ve Ymin Değerlerini Elde Etme – Getting Ymax and Ymin Value From JSON Data

Morris JS kullanırken grafikte göstermek istediğiniz verilerin Y aralıkları sabit değil değişken ise bazı sorunlar yaşayabiliyorsunuz. Ymax ve Ymin değerlerini kendiniz elde etmeniz gerekiyor. Bunun içinde yapmanız gereken stackoverflow’da bir vatandaşın yazdığı şu fonksiyonu kullanmak.

I could find nothing else to manage the y-axis in Morris so I built my own function to find min and max:

function min_and_max(json_data) {
    var min = Number.MAX_VALUE;
    var max = Number.MIN_VALUE;
    for (var data_key in json_data) {
        var entry = json_data[data_key]
        for(var key in entry) {
            var x = entry[key];
            if (!isNaN(x)) { // to avoid using date object
                if (x < min) {min = x;}
                else if (x > max) {max = x;}
            }
        }
    }
    return {'min': min, 'max': max};
}

So I could use it when creating the chart like:

var limits = min_and_max(data);
var keys = Object.keys(data[0]);
keys = keys.filter(function(e){return e!=='date'});
new Morris.Line({
    element: element,
    data: data,
    xkey: 'date',
    ykeys: keys,
    labels: keys,
    ymin: limits['min'],
    ymax: limits['max'],
    hideHover: true
});

Kaynak : https://stackoverflow.com/questions/33946724/how-to-set-smart-morris-js-line-chart-y-boundaries

CCS C – Mikrodenetleyici Ders Notları

MİKRODENETLEYİCİLER DERSİ NOTLARI

  1. Giriş Çıkış Yönlendirme Komutları

Kullanımı : set_tris_x(değer);           // Portları giriş çıkış yapmak için kullanılır.

Bir pini(bacağı) giriş yapmak için o pine “1”, çıkış yapmak için “0” verilir. A0 pinini giriş yapmak için bu pine 1 vermeliyiz. A0 pinini çıkış yapmak için istersek 0 vermemiz gerekir.

Örnek-1: set_tris_a(0xFF);    // A portuna FF hexadecimal verisini gönderir. Yani A portunu                                         // giriş olarak ayarlar.

Örnek-2 : set_tris_b(0b00001111);  // B portuna binary 00001111 verisini gönderir. Yani B                                                      // portunun sağdaki 4 bitini giriş, soldaki 4 bitini çıkış                                                        // olarak ayarlar.

  1. Yorum Satır(lar)ı Ekleme

Yorum satırları komut olarak algılanmaz. Program içerisinde programın çalışması hakkında açıklamalar eklemek veya yazılan komutların ne anlama geldiğini açıklamak veya kısa hatırlatmalar eklemek için kullanılırlar.

Kullanımı :

// Bu iki sağa eğik slaj karakteri belirlediğiniz satırı yorum satırına dönüştürür.

/*  */ Bu karakterler arasında kalan satır veya satırlar yorum satırı olarak algılanır.

  1. Bir Portun Tamamına Veri Göndermek

Kullanımı : output_x(değer) ;           // Belirtilen porta parantez içinde verilen değeri gönderir.

* Hexadecimal veya binary olarak veri gönderebiliriz.

Örnek-3 : output_b(0x00);    // B portuna hexadecimal 0x00 değerini gönderir. Yani B portunun tüm çıkışlarını 0’a çeker.

Örnek-4 : output_b(0xF0);   // B portuna hexadecimal 0xF0 değerini gönderir. Yani B portunun sağdaki 4 bitine 0, soldaki 4 bitine 1 gönderilmiş olur. Dolayısıyla b portunun sağdaki 4 bitine bağlı olan ledler söner, soldaki 4 bitine bağlı ledler yanar.

Örnek-5 : output_b(0b10101010); // B portuna binary “10101010” değerini gönderir. B portunun tek sayılı bacaklarına bağlı olan ledler sönük, çift sayılı bacaklarına bağlı olan ledler yanık olur.

  1. Tek Bir Pine Veri Göndermek

Kullanımı : output_high(pin_x);       // Belirtilen pini lojik 1 yapar. Yani bağlı olan led yanar.

output_low(pin_x);       // Belirtilen pini lojik 0 yapar. Yani bağlı olan led söner.

output_bit(pin_x, değer);  // Belirtilen bacağa belirtilen değeri gönderir.

output_toggle(pin_x);                        // Belirtilen bacağı 1 ise 0, 0 ise 1 yapar.

Örnek-7 : output_high(pin_B0);       // B0 pinini lojik 1 yapar. Yani B0’a bağlı olan led yanar.

Örnek-8 : output_low(pin_B7);        // B7 pinini lojik 0 yapar.Yani B7’ye bağlı olan led söner

Örnek-9 : output_bit(pin_B5,1);      // B5 pinini lojik 1 yapar.

Örnek-10 : output_bit(pin_B6,0);    // B6 pinini lojik 0 yapar.

Örnek-11 : output_toggle(pin_B3);  // B3 pinini 1 ise 0, 0 ise 1 yapar.

  1. Bir Portun Değerini Okumak

Kullanımı : input_x();           // x ile belirtilen portun değerini okur.

Örnek-12 : input_a();            // A portunun değerini okur.

Örnek-13 : input_b();            // B portunun değerini okur.

Örnek-14 :

int portDegeri;

portDegeri = input_b();          // B portunu okuyup sonucu portDegeri değişkenine atar.

  1. Bir Pinin(Bacağın) Değerini Okumak

Kullanımı : input(pin_x);      // x ile belirtilen pinin durumunu okur.

Örnek-15 :  input(pin_A1)    // A1 pininin değerini okur. (Lojik 1 veya 0)

Örnek-16 : A2 bacağına bir buton bağlı olsun ve bu butona basılı ise B0’a bağlı olan led yansın.

set_tris_a(0x0F);    // A portunu giriş olarak ayarladık.

set_tris_b(0x00);    // B portunu çıkış olarak ayarladık.

output_b(0x00);      // B portunu lojik 0’a çektik.

if( input(pin_A2) )  // Eğer A2 pinine bağlı olan butona basılmışsa;

{

delay_ms(20);             // Buton arkını önleme gecikmesi.

output_high(pin_B0);      // B0 pinini lojik 1 yap. B0’a bağlı                                // olan led yanar.

while( input(pin_A2) );   // Butondan el çekilene kadar bekle.

}

  1. Sağa Kaydırma İşlemi

Kullanımı :  veri = veri >> kaydırma_miktarı;

Örnek-17 :

int a;

a = 0x80;   // a sayısı  = 10000000 ’e eşit.

a = a >> 1; // a sayısı 1 kere sağa kaydırılarak 01000000 oldu.

  1. Sola Kaydırma İşlemi

Kullanımı :  veri = veri << kaydırma_miktarı;

Örnek-18 :

int a;

a = 0x01;   // a sayısı  = 00000001 ’e eşit.

a = a << 1; // a sayısı 1 kere sola kaydırılarak 00000010 oldu.

  1. Zaman Gecikmesi Ekleme

Kullanımı : delay_ms(gecikme_miktarı);

Gecikme miktarı milisaniye cinsinden belirtilir. 1 saniye = 1000 milisaniye. 3 saniye gecikme vermek için 3000 yazmamız gerekir.

Örnek-19 : delay_ms(2000);             // 2 saniye gecikme süresi verildi.

  1. Koşul İfadeleri
  2. if-else İfadesi

Belirlediğimiz şartın doğru olup olmadığını kontrol ederek, doğru olması ve yanlış olması durumunda yapılacak işlemleri belirtir.

Kullanımı :

if ( şart)

{

Şart doğruysa yapılacak işlemler

}

else

{

Şart yanlışsa yapılacak işlemler

}

Örnek-20 : B0 pinine bağlı bir fan olsun ve sıcaklık değeri 50 ve 50’den büyük olduğunda bu fan çalışıp devreye girsin, 50’den küçük olduğunda da fan dursun.

int sicaklik;

sicaklik = 65;  // Sıcaklık değerini bir sensörden aldığımızı düşünelim

if (sicaklik >= 50)  // Sıcaklık 50 ve 50’den büyük ise;

{

output_high(pin_B0); // B0 pinini lojik 1 yap.Yani fanı çalıştır.

}

else // sıcaklık değeri 50’den küçük ise

{

output_low(pin_B0); // B0 pinini 0 yap. Yani fanı durdur.

}

Hazırlayan: Mustafa SOLAK

www.mustafasolak.com

Programlama Temelleri 2.Dönem 1.Yazılı Soruları ve Cevapları(Program Halinde)

Yaptığımız sınava ait soruları ve cevapları buradan inceleyebilirsiniz.

Sınavda vermiş olduğunuz cevapları ve cevaplayamadığınız soruları buradan inceleyebilirsiniz.

Tüm sınav soruları ve cevapları program halindedir.  Okumaya devam et “Programlama Temelleri 2.Dönem 1.Yazılı Soruları ve Cevapları(Program Halinde)”