Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

ccs c de zamanla kullanımı?

Başlatan gokan_guney, 08 Haziran 2011, 17:40:55

gokan_guney

arkadaslar ben sımdı bır yazılımımda sorunum var yazılımda bır butonla kontrol var . ıkı yazı kısmım var bu ıkı yazının ılk yazısı butona basılmadıgı surece sureklı calısıyor olcak. butona basıldıgında da ıse 60 sn sayıp ıkıncı yazı kısmım calısıp 60 sn sonra tekrar ılk yazı gececek ve ılk yazı sureklı devam etcek taki gene butona basana kadar bu zamanlama ve dongusu nasıl yapıcagım ?
int n=0;

void main()
{

//port tanımlamaları yaptım orda hatm yok kontrol ettım

basla1:
 if(input(pin_a0)==0)
{
......

goto basla1;
}
else
  {
 if(input(pin_a0)==1)
     
     {
 basla2:
        while (n>60)
               {
          n++;
    
    ..........

     if (n>60)
         {
         break;
          goto basla1;
        }
        goto basla2
              }
        }
    }
}





ıkıncı kısımdakı "......" olan aradakı kodların ( bu aradakı komutlar bır kac portun komutları) ben 60 sn calısıp ondan sonra basla1 gıdıp, ta ki butona basılana kadar ılk bastakı kodun sureklı calısmasını ıstıyorum bunu yapamaya calıstım while dongusuyle ama olmadı bırde hatalarım varmı burda nasıl olcak bılgı verırsenız sevınırım denedım cok sey ama olmadı ıstedıgım gıbı...

yazdıgım kodda derleme hatası yok sadece devrede calısmıyor   

bırde pic 16f84A kullanıcam bunun kendı osılatorunu kullanmaya calıstım kodda hata verıyor kodu su sekıldemı "#fuses INTRC_IO," seklınde yaptım kabul etmıyor ccs c hata verıyor?


Ersin

Goto ları kullanma, daha önce basic kullanıyodun sanırım.

while ( true )
{
if(input(pin_a0)==0) { ....  }

}

gokan_guney

#2
bu while dongunu yaptıktan sonra alttakı whıle ıle yaptıgım zamnalama dogrumu  gotoları sıldıkten kendı otormotık yapacak yanı :)  basıc de kullandım asm de baska ne varsada mecburıyetten bakmak zorunda kaldım hepsıne ama ccs c yı baya ogrendıkten sonra dıgerlerıyle ugrasmıcam pek :)

gokan_guney

#3
tamamdır kodu claıstırdım saolaun tesekkur ederım ufak hatalarımı duzletttım :)

gokan_guney


arkadaslar sızınde ısınıze yarar belkı dıye calısan kodu tekrar komple duzgun halde duzenledım  asagıdakı "while (n<60)" ıtıbaren olan kısım aradakı komutların 60 defa okunup tekrarlanmasını saglıyor her defasında bır artıyor "n" sayısı ve if lı bolumde n sayısının 60 ı gectıgınde ıse tekrar basa donup donguden cıkıyor takı butona tekrar basıncaya kadar...



bilmeyen arkadaslar bılgı nıtelıgınde olsun dıye yazıdm ve "....." olan kısımlarda aradakı komutlardır ve ersın arkadasıma tesekkur ederım yardımlaırndna dolayı....

int n=0;

void main()
{

//port tanımlamaları yaptım orda hatm yok kontrol ettım
while(true)
{
 if(input(pin_a0)==0)
{
......

}
else
  {
 if(input(pin_a0)==1)
     
     {
        while (n<60)
               {
          n++;
    
    ..........

     if (n>60)
         {
         break;
        }
              }
        }
    }
  }
}