Reentrant ve non-reentrant fonksiyon
nedir?
Kesme içinden çağırdığım bazı fonksiyonlar
için ikaz edildim bu konuda.
Bir fonksiyon isletilmeye baslandiginda bir kesme ile yarida birakilip kesme icinde ayni fonksiyon cagrilirsa reentrant durumu olusur.
Fonksiyon buna izin veriyorsa sorun yok izin vermiyorsa is "crash"e kadar gider.
XC8 derleyicisi (belki XC16 da) bu konuda şöyle bir şey yapıyor: Bir fonksiyon hem normal kod içinden hem de kesmeden çağrılıyorsa, o fonksiyonun iki kopyasını oluşturuyor. Böylece kesme sebebiyle tekrar-girişi engelliyor.
Teşekkür ederim. Anlaşılmıştır.