18f25k80 MCLR reset problemi

Başlatan sdonmez, 20 Eylül 2018, 18:14:31

yas

Alıntı yapılan: sdonmez - 22 Eylül 2018, 22:40:02pic1pic18f25k80 datasheetnde
(http://ww1.microchip.com/downloads/en/DeviceDoc/PIC18F66K80%20FAMILY%20Enhanced%20Flash%20MCU%20with%20ECAN%20XLP%20Technology%2030009977G.pdf)
LVP'ye ilişkin bilgi yok

Donanım kaynaklı olmadığına eminsen, RETEN ve STVREN bunlardan kaynaklı da olabilir yada wacthdog açıksa ve yazılım içerisinde sıfırlanmıyorsa bundan da olabilir.

sdonmez

#31
Merhaba,

Konu hakkında ilginç bir tespitim oldu. Sanırım MCLR reset ile ilgili bir sorunum yok. Asıl sorun mikroişlemcinin RESTART_CAUSE fonksiyonuna verdiği yanlış cevap. Çünkü WDT reset yediğinde bana 15 gönderiyor.

PIC18F25K80.h dosyasında aşağıdaki gibi tanımlar var.  Gördüğünüz gibi MCLR_FROM_RUN için 15 verilmiş.
// Constants returned from RESTART_CAUSE() are:
#define WDT_TIMEOUT       7    
#define MCLR_FROM_SLEEP  11    
#define MCLR_FROM_RUN    15    
#define NORMAL_POWER_UP  12    
#define BROWNOUT_RESTART 14    
#define WDT_FROM_SLEEP    3    
#define RESET_INSTRUCTION 0

Ben 7 beklerken 15 geldiği için şaşırıyorum sanırım. Fakat MCLR 'ye bağlı reset butonu ile resetlediğimde de aynı 15 değeri dönüyor. Bu daha da ilginç geldi bana...
Nasıl düzeltebiliriz? Doğru değerler hangisidir?

Sadan

sdonmez

Alıntı yapılan: sdonmez - 04 Ekim 2018, 23:28:57Merhaba,

Konu hakkında ilginç bir tespitim oldu. Sanırım MCLR reset ile ilgili bir sorunum yok. Asıl sorun mikroişlemcinin RESTART_CAUSE fonksiyonuna verdiği yanlış cevap. Çünkü WDT reset yediğinde bana 15 gönderiyor.

PIC18F25K80.h dosyasında aşağıdaki gibi tanımlar var.  Gördüğünüz gibi MCLR_FROM_RUN için 15 verilmiş.
// Constants returned from RESTART_CAUSE() are:
#define WDT_TIMEOUT       7    
#define MCLR_FROM_SLEEP  11    
#define MCLR_FROM_RUN    15    
#define NORMAL_POWER_UP  12    
#define BROWNOUT_RESTART 14    
#define WDT_FROM_SLEEP    3    
#define RESET_INSTRUCTION 0

Ben 7 beklerken 15 geldiği için şaşırıyorum sanırım. Fakat MCLR 'ye bağlı reset butonu ile resetlediğimde de aynı 15 değeri dönüyor. Bu daha da ilginç geldi bana...
Nasıl düzeltebiliriz? Doğru değerler hangisidir?

Sadan

7 yerine 15 gelme problemi çözüldü. https://www.ccsinfo.com/forum/viewtopic.php?t=47354 sayfasındaki 2 tavsiye üzerine komutu biraz yukarı taşıdığımda düzgün cevap alabildim.