RAM adrese değişken ataması

Başlatan Mc.ildiri, 28 Mayıs 2017, 22:42:44

Mc.ildiri

Arkadaşlar Arduinodan sonra şimdi Pic de  yeniyim, hobici olarak devam. Bir sorum olacak fakat çokta eziklemeyin daha başındayım :-)

D1 var byte
D2 var byte
Say var word
SYMBOL LEDLER=$6
TRISB=%00000000
TRISA=%00000110
sAY=0
D1=0
D2=0
butonkontrol:
Button PortA.1, 0, 254, 254, D1, 1, LEDarttir
Button PortA.2, 0, 254, 254, D2, 1, LEDazalt
LEDarttir:
say=say+1
POKE LEDLER, SAY
Goto butonkontrol:
LEDazalt:
say=say-1
POKE LEDLER, SAY
goto butonkontrol:
end

anlaşılacağı gibi bir butona basıyoruz ledler tek tek yanıyor diğer butona basıyoruz ledler tek tek sönüyor.
"POKE LEDLER, SAY" yerine ben Arduinodan alıştığım mantıkla "PortB.say,1" yazamıyormuyum. Mutlaka RAM adrese değişken atamasını başta yapmak zorundamıyım.


teşekkürler

Mc.ildiri

bu arada sonradan dikkat ettim "Say"  binary olarak sayıyor bunu desimal nasıl saymasını sağlarım.

ete

#2
Hiç bir programlama dili bir değişkeni saydırırken desimal yada binary diye ayırım yapmaz. Sen sayılanı görmek için bu ayırımı yaparsın . Desimal olarak da sayılanı görebilirsin binary olarak da. Ancak PORTB ye gönderilmiş sayılmış bilgiyi nasıl desimal göreceksin onu merak ettim. Zira Port 8 bit dir ve her bir çıkışı binary bitine karşılık gelir.
Sayılanı desimal görmekiçin bir displayin olması gerekir.
Poke komutuda nereden çıktı çok kullanılan bir komut değil özel amaçları olan bir komut.Bunlardan birisi de belirli bir adrese bir değer yerleştirmek için kullanılır.
Pic Basic de  PORTB= 18 gibi direk değer verebileceğin gibi bir değişkeni de porta verebilirsin. PORTB=SAYI gibi.
Port'un bir bitine değer vermek istiyor isen PORTB.6=1 diyebileceğin gibi index değişkeni ilede bunu yapabilirsin.
PORTB.0[INDEX]=1 gibi. Burada INDEX=3 ise PORTB.3=1 yapılmış olur.

Ete


Mc.ildiri

Sn. Orhan Altınbaşak'ın bir kitabından çalışıyorum ve orada bir örnek gördüm. POKE komutuda bu örnekte vardı. Önce butona her basışta bir led yanacak diğer butona basınca sönecek diye yorumladım ama öyle değilmiş. Teşekkürler.

Powered by EzPortal