eemoznulut
Üye
- Katılım
- 2 Ağu 2009
- Mesajlar
- 9
- Puanları
- 1
- Yaş
- 36
arkadaşlar yazmaya calıştığım programda rs232 seri bağlantı ile motoru sağ yada sola döndürmeye çalışıyorum. fakat bi türlü istediğimi yapamadım.
kısaca açıklayım: girdiğim tuş r ise sağa l ise sola donsun diğer tşlardan herhangi birine basıldığında ise çalışmasın istiyorum. yazdığım kodda mantık hatası da olabilir yada kullanım hatası.... merak ettiğim nokta kbhit() fonksiyonunu nasıl kullanabilirim? yardımcı olursanız sevinirim.
#include "c:\users\mug\desktop\cnc\step motor.h"
int i;
char j;
int sure=40;
void main()
{
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_psp(psp_dısabled);
setup_spi(spı_ss_dısabled);
setup_timer_1(t1_dısabled);
setup_timer_2(t2_dısabled,0,1);
set_tris_b(0x00);
output_b(0x00);
basla:
j=getch();
putc(j);
if(j='r')
{
sag:
while(1)
{
for(i=1;i<=1;i++)
{
output_low(pin_b3);
output_high(pin_b0);
delay_ms(sure);
output_low(pin_b0);
output_high(pin_b1);
delay_ms(sure);
output_low(pin_b1);
output_high(pin_b2);
delay_ms(sure);
output_low(pin_b2);
output_high(pin_b3);
delay_ms(sure);
}
if(kbhit())
{
break;
goto basla;
}
else
goto sag;
}
}
else if(j='l')
{
sol:
while(1)
{
for(i=1;i<=1;i++)
{
output_low(pin_b0);
output_high(pin_b3);
delay_ms(sure);
output_low(pin_b3);
output_high(pin_b2);
delay_ms(sure);
output_low(pin_b2);
output_high(pin_b1);
delay_ms(sure);
output_low(pin_b1);
output_high(pin_b0);
delay_ms(sure);
}
if(kbhit())
{
break;
goto basla;
}
else
goto sol;
}
}
else
break;
}
kısaca açıklayım: girdiğim tuş r ise sağa l ise sola donsun diğer tşlardan herhangi birine basıldığında ise çalışmasın istiyorum. yazdığım kodda mantık hatası da olabilir yada kullanım hatası.... merak ettiğim nokta kbhit() fonksiyonunu nasıl kullanabilirim? yardımcı olursanız sevinirim.
#include "c:\users\mug\desktop\cnc\step motor.h"
int i;
char j;
int sure=40;
void main()
{
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_psp(psp_dısabled);
setup_spi(spı_ss_dısabled);
setup_timer_1(t1_dısabled);
setup_timer_2(t2_dısabled,0,1);
set_tris_b(0x00);
output_b(0x00);
basla:
j=getch();
putc(j);
if(j='r')
{
sag:
while(1)
{
for(i=1;i<=1;i++)
{
output_low(pin_b3);
output_high(pin_b0);
delay_ms(sure);
output_low(pin_b0);
output_high(pin_b1);
delay_ms(sure);
output_low(pin_b1);
output_high(pin_b2);
delay_ms(sure);
output_low(pin_b2);
output_high(pin_b3);
delay_ms(sure);
}
if(kbhit())
{
break;
goto basla;
}
else
goto sag;
}
}
else if(j='l')
{
sol:
while(1)
{
for(i=1;i<=1;i++)
{
output_low(pin_b0);
output_high(pin_b3);
delay_ms(sure);
output_low(pin_b3);
output_high(pin_b2);
delay_ms(sure);
output_low(pin_b2);
output_high(pin_b1);
delay_ms(sure);
output_low(pin_b1);
output_high(pin_b0);
delay_ms(sure);
}
if(kbhit())
{
break;
goto basla;
}
else
goto sol;
}
}
else
break;
}