pcbway

PicBasic Pro For Next dongusu yardim ?

Başlatan Ghengistr, 11 Kasım 2010, 01:05:52

Ghengistr

Selamlar, Dongu icerisindeki B degiskenin aldigi degeri High Led(x) deki x degerine nasil atarim.
 
FOR B=0 TO 5
HIGH LED x

NEXT B

END

Tesekkurler.

neural

11 Kasım 2010, 21:50:17 #1 Son düzenlenme: 11 Kasım 2010, 21:50:59 neural
LED(x) burada bir fonksiyon mudur?
Eğer öyleyse HIGH LED(B) şeklinde bir yazımın çalışması gerekir.

Yada yapmak istediğinizi daha açık yazarsan daha çok yardım gelecektir.

muhittin_kaplan

soruyu biraz daha açarsannız sanırım cevap verilir.
B(x) nedir
dizi değişken mi yoksa Bx gibi tanımlama mı ?

Ghengistr

12 Kasım 2010, 15:43:37 #3 Son düzenlenme: 12 Kasım 2010, 15:49:28 Ghengistr
Selamlar.

symbol portb.1=led1
symbol portb.2=led2
symbol portb.3=led3
symbol portb.4=led4
symbol portb.5=led5


B VAR BYTE
FOR B=0 to 5

HIGH LED X ( B nin alacagi degerin X e atanmasi mumkunmu ?)

NEXT A

Dongunun 5 e kadar sayacagini dusunelim, bu durumda dongudeki (B) degiskenin aldigi degeri Led in (X) degerine atayip dongunun sirasina gore ledlerin yanmasi mumkunmu. Umarim sorumu anlatabildim.

Tesekkurler.

neural

12 Kasım 2010, 19:56:43 #4 Son düzenlenme: 12 Kasım 2010, 19:58:41 neural
Maalesef bu mümkün değildir.
Sırasıyla yanmasını istiyorsanız döndürme komutları ile yapabilirsiniz. Pic basic te sanırım shift (<< ve >>) oparatörleri ile yapılıyordu. Yani


PORTB = 1
B VAR BYTE
FOR B=0 to 5

PORTB = PORTB << 1

NEXT A
şeklinde bir şey yapabilirsiniz.

Ama derseniz ki for döngüsündeki değeri kullanmak istiyorum o zaman bir dizi tanımlamanız gerekiyor.
ledler var byte[5] = 0x01,0x02,0x04,0x08,0x10

FOR B=0 to 5
PORTB = ledler[B]
NEXT B
şeklinde bir şeyler olacaktır.

Kaynak : http://melabs.com/resources/pbpmanual/


Ghengistr

Yanit icin Tesekkurler.
Ciiden cok makbule gecti.

Saygilar.

omereliusuk

30 Kasım 2010, 23:03:21 #6 Son düzenlenme: 30 Kasım 2010, 23:05:26 omereliusuk
MÜMKÜN
ŞÖYLE
önce bir byte atıyorsunuz örnek MSN


DIM MSN AS BYTE
Dim  MSN0  As  MSN.0   
Dim  MSN1  As  MSN.1   
Dim  MSN2  As  MSN.2   
Dim  MSN3  As  MSN.3   
Dim  MSN4  As  MSN.4   
Dim  MSN5  As  MSN.5   
Dim  MSN6  As  MSN.6   
Dim  MSN7  As  MSN.7   

FOR MSN=0 TO 255
PORTB.7=MSN0     
PORTC.6=MSN1
PORTC.5=MSN2 
PORTC.7=MSN3
        \'=MSN4
        \'=MSN5
PORTB.5=MSN6
PORTB.6=MSN7
NEXT

istediğiniz portları bu şekilde yönlendirebilirsiniz hatta word büyüklüğündeki düzeneği bile bu şekilde düzenleyebilirsiniz. yani illaki bir port üzerinde işlem yapmaya gerek yok.