kesme hakkında

Başlatan x-nomek, 05 Aralık 2011, 00:43:07

x-nomek

S.@

Arkadaşlar Pic kesmeden çıktık dan sonra tekrar kaldığı yerden devam ediyor.
Acaba Kesmeden Çıktıkdan sonra kaldıgı yerden degil de en baştan yeniden başlamasini istiyorum ccs c de bunu nasıl yapabiliriz


birde kesmenin içinde gecikme (delay_ms(100)) neden yapılması pek uygun degildir.

fahri-

kesmeden çıkmadan hemen önce reset_cpu() komutunu kullanırsanız program çalışmaya baştan başlar. (ccs derleyicide)

JKramer

Bu komut, 16 serisinde sadece program counter'ı sıfırlar; bu yüzden komutun öncesinde tüm register'lara başlangıç değerlerini yüklemek gerekiyor. 18 serisinde buna gerek yok.

Bir diğer yöntem de şu olabilir: Watchdog timer açık durumdayken, kesmenin sonuna sonsuz döngü koyarsak, ilgili sürenin sonunda reset atar.

Tagli

PC sıfırlandığı zaman donanımsal yığın değişmez ki. Arzu edilen işlemin 16 serisi işlemcilerde yapılması zor gibi.
Gökçe Tağlıoğlu

z

16 serisinde yığını neden değiştirmek isteyesenki?

Yığın circular bir buffer. Başlangıç adresinin ne olduğu kimseyi ilgilendirmez.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Tagli

Evet doğru, bu ayrıntı gözümden kaçmış. Hatırlattığın için teşekkürler bunalmis hocam.
Gökçe Tağlıoğlu