Merhaba arkadaşlar, Üniversite II öğrencisiyim, hocamız protonda 8 ledi baştan sona yakıp yine yanmaya başladığı yerden sönecek ve bu böyle devam edecek. For next ile baştan sona yakıyorum fakat tekrar geri söndüremiyorum. Yardım eder misiniz ? Gerekirse ücret ödeyebilirim.
1.2.3.4.5.6.7.8. Ledler sırasıyla yanacak. Hepsi yanıkken 1.2.3.4.5.6.7.8. ledler geriye doğru sönecek. Tek sayaç ile yapmamız söylendi ama. Bu ödevi verirsem sınıfı geçtim sayılır vizeye +20 puan çünkü
quote:
Orijinalden alıntı: webproducor
Merhaba arkadaşlar, Üniversite II öğrencisiyim, hocamız protonda 8 ledi baştan sona yakıp yine yanmaya başladığı yerden sönecek ve bu böyle devam edecek. For next ile baştan sona yakıyorum fakat tekrar geri söndüremiyorum. Yardım eder misiniz ? Gerekirse ücret ödeyebilirim.
1.2.3.4.5.6.7.8. Ledler sırasıyla yanacak. Hepsi yanıkken 1.2.3.4.5.6.7.8. ledler geriye doğru sönecek. Tek sayaç ile yapmamız söylendi ama. Bu ödevi verirsem sınıfı geçtim sayılır vizeye +20 puan çünkü
başlangıç değerini (-8) verin. değişkeninizde -8 ile 8 aralığında olsun.
Proton dilini bilmiyorum. Ama For next döngüsünün mantığı hakkında bir fikir verebileceğimi düşünerek yazıyorum. Artan for next döngüsüyle 1, 1+1=2,...7+1=8 değerlerini vererek yaktığın ledleri,(led1=high yada...led1=1 komutuyla..vb. protonda nasıl yapılıp yakır bilemiyorum?), söndürürkende "step-1" ile 8 den başlayıp, 8, 8-1=7, 7-1=6.....2-1=1 şeklinde yaparsan ve tanımlanan lede de söndürmek için (led8=low yada...led8=0 komutuyla..vb. ) komut verirsen sorun çözülür diye düşünüyorum.
Tek sayaç ile yapmak için aklıma bir yol daha geldi. 2 ayrı değişken tanımlarsınız (a ve b). a sizin sayacınız olacak, b ise port değeri. LED'leri sırasıyla yakacağınız için 16'lık bir diziye ihtiyacınız olacak. bu durumda en kolayı a'yı HEX olarak tanımlarsınız b decimal, binary yada hex farketmez. FOR NEXT döngüsü ile a'yı 1 arttırırsınız. SELECT CASE ya da IF döngüsü (protonda hangisi vardır bakmak lazım) ile a nın her değerine karşılık b değişkenini atarsınız. b değişkenini de LED'lerin bağlı olduğu porta değer olarak yollarsınız. Excel'de ufak bir formülle a nın hangi değerine karşılık b nin ne olması gerektiğini çıkartıp döngüye koydunuzmu da istediğinizi yapmış olursunuz.