Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: firatsercan63 - 09 Mart 2016, 15:13:23

Başlık: Stm32f429 ile saydirma islemi
Gönderen: firatsercan63 - 09 Mart 2016, 15:13:23
Arkadaslar kolay gelsin oncelikle.Yardim edebilecek arkadaslara da simdiden tesekkur ederim. Benim soyle bir sorunum var .islemciyi saydirma islemi yapmak istiyorum ancak kosul ifadelerinde sorun yasiyorum.mesela kosullara esitlik ifadesi koydugummda sorun yok ancak buyuk veya kucuk ifadesini kullandigimda birinci kosula giriyor ikinci kosula ve dahasonraki kosullara girmiyor.Bununnedeni ne olabilir yardimci olabilir misiniz?tesekkurler.
Başlık: Ynt: Stm32f429 ile saydirma islemi
Gönderen: vitruvius - 09 Mart 2016, 15:46:40
Birinci koşula girip diğer koşullara girmiyorsa diğer koşullar sağlanmıyordur. Kodu görmeden yorum yapamayız. Debug yapıp baktınız mı?

Ayrıca konunun Arm ile değil de programlama yaptığınız dil ile alakası var. Yanlış yere açılmış.
Başlık: Ynt: Stm32f429 ile saydirma islemi
Gönderen: firatsercan63 - 09 Mart 2016, 17:49:07
"if(sayac==3)
                   {led1=1; led2=0; led3=0; goto A;}
                   else if(sayac==6)
                   {led1=1; led2=1; led3=0; goto A;}
                   else if(sayac==9)
                   {led1=1; led2=0; led3=1; goto A;}
                   else if(sayac==12)
                   {led1=1; led2=1; led3=1; sayac=0; goto A;}"

şu şekilde kulandığımda tüm koşullar sağlanıyor.Ancak koşul ifadelerine < veya > işaretlerinden herhangibirini koyduğumda koşul ifadeleri sağlanmıyor. C dilinde programlamaya çalışıyorum.Microc ile.
Başlık: Ynt: Stm32f429 ile saydirma islemi
Gönderen: F493 - 09 Mart 2016, 22:16:08
Selam,
Örnek olarak,


if(sayac > 0 && sayac <= 3) { // sayac 1,2,3 iceri girer
      led1=1; led2=0; led3=0;
      goto A;
} else if(sayac > 3 && sayac <= 6) {   // sayac 4,5,6 iceri girer
      led1=1; led2=1; led3=0;
      goto A;
} else if(sayac > 6 && sayac <= 9) {  // sayac 7,8,9 iceri girer
      led1=1; led2=0; led3=1;
      goto A;
} else if(sayac > 9 && sayac <= 12) {  // sayac 10,11,12 iceri girer
      led1=1; led2=1; led3=1;
      sayac=0;
      goto A;
}


Sayac baska yerde cok hizli artiyorsa diger kosullara vakit kalmayabilir. Birde buraya gelen yazılım her halükarda A ya gidecekse goto A'yi butun if deyimlerinin bittigi yere koyabilirsiniz.

Esen kalın
Başlık: Ynt: Stm32f429 ile saydirma islemi
Gönderen: firatsercan63 - 10 Mart 2016, 00:12:26
Eyvallah hocam.En kısa zamanda dediğinizi deneyeceğim.Çok teşekkür ederim ilgi ve alakanız için.
Başlık: Ynt: Stm32f429 ile saydirma islemi
Gönderen: firatsercan63 - 10 Mart 2016, 13:56:35
Hocam denedim gönderdiğin kodları ve çalıştı cok teşekkür ederim tekrar eyvallah.