silvestir
Profesyonel Üye
- Katılım
- 10 Ağu 2011
- Mesajlar
- 2,769
- Puanları
- 656
Abicim tamamen mantık hatası yapıyorsun, ondan olmuyor. Vericiyi tetikliyorsun ve eko bekliyorsun. ekoyu alamadığını farzet, senin kod while döndüsünde dönüp duruyor, sürekli zamanı hesaplıyor. Bu arada hiç vericiden yeni bir sinyal göndermiyorsun. Senin sinyal eridi gitti havada, sen hala while döngüsünden çıkamadın.
while (1) ile yapmayacaksın. While(k) ile yap. Timer1 interrupt rutinin de olsun. Her interrupt oluştuğunda yani timer1 overflow olduğunda ki bu 104ms sürede overflow olacak k=0 yap. Böylece while döngüsünden çıksın ve yeniden vericiyi çalıştırsın. Vericiyi çalıştırınca k=1 yap ve set_timer1(0) yap.
Ayrıca 58 değil 38 e bölmen lazım.. Hadi bi gayret, kafayı toparla...
while (1) ile yapmayacaksın. While(k) ile yap. Timer1 interrupt rutinin de olsun. Her interrupt oluştuğunda yani timer1 overflow olduğunda ki bu 104ms sürede overflow olacak k=0 yap. Böylece while döngüsünden çıksın ve yeniden vericiyi çalıştırsın. Vericiyi çalıştırınca k=1 yap ve set_timer1(0) yap.
Ayrıca 58 değil 38 e bölmen lazım.. Hadi bi gayret, kafayı toparla...