pic c'de bit okuma

Başlatan biralti, 28 Nisan 2007, 14:12:37

biralti

Selam arkadaşlar.Ben bir if döngüsünde B sakyalıcısının ilk bitini kontrol etmek istiyorum.Bunu nasıl yazarım?

if (PORTB.0 == 0) PORTA=0x03;

şeklinde bir yazım olabilir mi?

Bir de pic c lite'ın nasıl kullanıldığı ile ilgili bir döküman var mı?
Teşekkürler..

muuzoo

if(RB0==0) PORTA=0x03;

demen yeterli.

Birde pic c ile ilgilil başka bir forumda birşeyler yazmıştım. Eğer faydası olursa buyur (umarım reklam olarak algılanmaz)

http://forum.donanimhaber.com/m_12941267/mpage_1/key_//tm.htm

bu başlığı inceleyebilirsin.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

KAZIMUGUR

@muuzoo , paylaşımı seven bir kardeşimiz,hoşgeldin...

Ziya

Alıntı yapılan: "biralti"Selam arkadaşlar.Ben bir if döngüsünde B sakyalıcısının ilk bitini kontrol etmek istiyorum.Bunu nasıl yazarım?

if (PORTB.0 == 0) PORTA=0x03;

şeklinde bir yazım olabilir mi?

Bir de pic c lite'ın nasıl kullanıldığı ile ilgili bir döküman var mı?
Teşekkürler..
PIC C CCS firmasının derleyicisi mi? Öyleyse:

#bit deneme=0x06.0 // protb 6 nolu adreste ise
#byte porta=5

...
if(!deneme) porta=3;

veya

if(!bit_test(portb,0)) porta=3;
Bu günden sonra hiç kimse sarayda, divanda, meclislerde ve seyranda Türk dilinden başka dil kullanmaya. (13 Mayıs 1277) Karamanoğlu Mehmet Bey

muuzoo

Alıntı yapılan: "KAZIMUGUR"@muuzoo , paylaşımı seven bir kardeşimiz,hoşgeldin...


Teşekkür ederim.  En kısa zamanda HI-TIDE ile ilgili resimli bir döküman hazırlayacağım burda. Elimden geldiğince anlatmaya çalışacağım.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

SpeedyX

Bit okuma derken sadece port bitleri okumak akla gelmemeli, ben şöyle yapıyorum;
if(!!((x) & (1u << 0)))    //eger x tek sayi ise (x in 0.biti "1" ise)
     x++;                  //x+1 yapiyoruz. (Sayi cift oluyor)


biraz karmaşık duruyor ama assembly karşılığı btfss x,0