Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: remzi - 01 Ekim 2007, 12:30:01

Başlık: CCS de kod for(;;) içinden nasıl çıkar anlayamadım?...
Gönderen: remzi - 01 Ekim 2007, 12:30:01
[/code] void main()
{
  setup_timer_2(T2_DIV_BY_16,255,16);
  setup_oscillator( OSC_4MHZ );
  enable_interrupts(INT_TIMER2);
  enable_interrupts(INT_RB);          //RB4-RB7 değişim kesmesi
  enable_interrupts(GLOBAL);
 
  set_tris_a(0x70);
  set_tris_b(0xF0);
 
  PORTA=0x00;
 
  PORTB_1=1;              // default olarak ayarladım. biri mutlaka 1 olmalı
  PORTB_2=0;
  PORTB_3=0;
 
  biple();
  delay_ms(50);
  biple();
 

  for(;;)
  {  
     if(tus==1)
       kilit_kapat=1;
     if(tus==2)
       kilit_ac=1;
     if(tus==3)
     {
     kilit_ac=1;
     kilit_kapat=1;
     }
     if(tus==4)
        uyari_ledi=1;
     
     if(tus==5)
     {
     uyari_ledi=0;
     kilit_ac=0;
     kilit_kapat=0;
     }
  }
}

Arkadaşlar bu programda program for döngüsünün dışına çıkıyor. Sebebi nedir ve çıkmaması için ne yapabiliriz?

teşekkürler...
Başlık: Re: CCS de kod for(;;) içinden nasıl çıkar anlayamadım?
Gönderen: kurumahmut - 01 Ekim 2007, 13:11:26
void main()
{
  setup_timer_2(T2_DIV_BY_16,255,16);
  setup_oscillator( OSC_4MHZ );
  enable_interrupts(INT_TIMER2);
  enable_interrupts(INT_RB);          //RB4-RB7 değişim kesmesi
  enable_interrupts(GLOBAL);
 
  set_tris_a(0x70);
  set_tris_b(0xF0);
 
  PORTA=0x00;
 
  PORTB_1=1;              // default olarak ayarladım. biri mutlaka 1 olmalı
  PORTB_2=0;
  PORTB_3=0;
 
  biple();
  delay_ms(50);
  biple();
 

  for(;;)
  {  
     if(tus==1)
       kilit_kapat=1;
     if(tus==2)
       kilit_ac=1;
     if(tus==3)
     {
     kilit_ac=1;
     kilit_kapat=1;
     }
     if(tus==4)
        uyari_ledi=1;
     
     if(tus==5)
     {
     uyari_ledi=0;
     kilit_ac=0;
     kilit_kapat=0;
     }
  }
}

Arkadaşlar bu programda program for döngüsünün dışına çıkıyor. Sebebi nedir ve çıkmaması için ne yapabiliriz?

teşekkürler.


Problem koddan kaynaklı değil. Belki WDT açıktır. Birde çıktığını düşündürten şey ne? nerde denedin?
Başlık: CCS de kod for(;;) içinden nasıl çıkar anlayamadım?...
Gönderen: remzi - 01 Ekim 2007, 13:15:24
Doğru diyorsun WDT açıkmış ve sıfırlamamamışım...

Devre sürekli resetlenip başa dönüyormuş.
Çıktığını buzer la denedim.  biple(); fonksiyonunun içinde buzer çalıştırdım.

Teşekkür ederim...

iyi çalışmalar.