Anlayamadığım komut

Başlatan blueboard, 24 Şubat 2014, 20:46:22

blueboard

Ete Hocam, aşağıya yazdığım kodda "PortA & %00011100" ile ne anlatılıyor? A portunda a2-a4 pinlerinin lojik 1 ve diğer pinlerin sıfır olduğu mu ?Teşekkür ederim.

ics=0
    PortA.1 = 0
    newState = PortA & %00011100         
    PortA.1 = 1

ete

Bu komut portA nın yalnızca bazı bitlerini okuyup new state isimli değişkene aktarır.
Aradaki & işareti and komutudur. Tam tercümesi şöyle.
PortA değerini al ,  %00011100 değeri ile and işlemini uygula , kalanı newstate isimli değişkene aktar.
PortA değerinin %00111110 olduğunu varsayalım. Bunun %00011100 ile and yapılması sonucu yeni değer %00011100 olacaktır ve bu değer newstate isimli değişkene aktarılacaktır.

Ete

blueboard

Ete Hocam, şu şekilde anladım,doğru mudur?

'PortA değerinin %00111110 olduğunu varsayalım. Bunun %00011100 ile and yapılması sonucu yeni değer %00011100 olacaktır ve bu değer newstate isimli değişkene aktarılacaktır. ' dediniz.
Burada PortA da bulunan lojik 1 değerleri ile "%00011100" ifadesindeki ortak olan lojik1 değerlerini yine lojik 1 kabul ediyor. Ortak olmayan 1 değerlerini ise sıfır görüyor.Buradan sonuç 00011100 çıkıyor. Doğru mu? Teşekkürler.

ete

And işlemi şöyledir.
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
1 & 1 = 1

Bunlar uygulanıyor. Lojik operatörlere çalışman gerek.
OR - XOR -  NOT işlevlerini öğrenmen gerekiyor.

Ete

Powered by EzPortal