ibora
Usta Üye
- Katılım
- 14 Eyl 2008
- Mesajlar
- 1,203
- Puanları
- 156
- Yaş
- 56
Arkadaşlar iyi akşamlar.
Aşağıdaki kodda ne hata yaptığımı bulamadım.
Program ramp alt rutinine atlayınca bu rutin içindeki for(b=0; b<1000; b++)
döngüsü çalışmıyor. Debugger da ve proteus'ta denedim, aynı. Nerede hata yapmışım, bulamadım. Kullandığım pic 12F675. Yardımlarınız için teşekkürler...
Aşağıdaki kodda ne hata yaptığımı bulamadım.
Program ramp alt rutinine atlayınca bu rutin içindeki for(b=0; b<1000; b++)
döngüsü çalışmıyor. Debugger da ve proteus'ta denedim, aynı. Nerede hata yapmışım, bulamadım. Kullandığım pic 12F675. Yardımlarınız için teşekkürler...
Kod:
unsigned int x, a, b, say;
void setup()
{
ANSEL = 0x00; // analog girişler kapatıldı.
TRISIO=0x00; // portlar çıkış olarak ayarlandı.
GPIO=0x00 ; //portlar sıfırlandı.
CMCON = 0x07; //comparatorlar kapatildi.
}
void blink_quick()
{GPIO.GP0 =1;
delay_ms(50);
GPIO.GP0 = 0;
delay_ms(50);
}
void blink_slow()
{GPIO.GP0 =1;
delay_ms(300);
GPIO.GP0 = 0;
delay_ms(300);
}
void ramp()
{
for(b=0; b<1000; b++)
{
GPIO.GP0 = 1;
if (b = 999) say ++;
if (say == b) GPIO.GP0 = 0;
}
}
void main()
{
setup();
for (;; )
{
for (a=0; a<2; a++)
blink_quick();
for (a=0; a<2; a++)
{blink_slow();}
say = 0;
ramp();
}
}