Fonksiyonu bitirmek için ne yapmam gerekiyor?

  • Konbuyu başlatan caglarturk
  • Başlangıç tarihi
C

caglarturk

Ziyaretçi
Arkadaşlar aşağıda interrupta girdikten sonra kısa değerini değiştiriyor ama örneğin kısa fonksiyonundaysa o fonksiyonu bitirdikten sonra uzun fonksiyona gidiyor. Ben o anda o fonksiyonun bitmesini istiyorum ne yapabilirim acaba?

Kod:
void kisa_fonksiyon(void);
void uzun_fonksiyon(void);
volatile boolean kisa=true;

ISR(INT1_vect){

uint16_t zaman=0;
while(PIND & (1<<PD3)) //Buton pull down
{
zaman++;
_delay_ms(100);

}

if(zaman>0 && zaman<30)
{
kisa=true;
}
if(zaman>=30)
{
kisa=false;
}

}

int main(void)
{

DDRD |=(1<<PIND6);
PORTD &=~(1<<PIND6);
DDRD |=(1<<PIND7);
PORTD &=~(1<<PIND7);
DDRD &=~(1<<PIND3);

EICRA |=(1<<ISC10);
EICRA |=(1<<ISC11);

while(1)
{
EIMSK |=(1<<INT1);
sei();
if(kisa)
kisa_fonksiyon();
else
uzun_fonksiyon();

}

}
void kisa_fonksiyon()
{
PORTD &=~(1<<PIND7);

for(int j=1;j < 3;j++)
{
for(int i=0;i<4;i++)
{
PORTD ^=(1<<PIND6);
_delay_ms(j*1000);
}
}
}
void uzun_fonksiyon()
{
PORTD &=~(1<<PIND6);

for(int j=1;j< 3;j++)
{
for(int i=0;i<8;i++)
{
PORTD ^=(1<<PIND7);
_delay_ms(j*1000);
}
}

}
 

Robotikforum.net Nedir?

  • Robotikforum.net 2020 yılında kurulup yayın hayatına başlayan ve Türkiye’de robotik kodlama alanının gelişimine katkıda bulunmak için bu alan ile ilgilenen bireylerin bir birleri ile yardımlaşmaları ve fikir danışmalarını sağlayarak daha iyi öğrenmek için her bir bireyin bilgisini ve tecrübesini alarak kendini geliştirebileceği ve sorularına cevap bulabileceği bir platform olarak kurulmuştur.

Bilgilendirme!!!

İçerik sağlayıcı paylaşım sitelerinden biri olan www.robotikforum.net Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.

Sayfamızı beğendin mi?