18f25k22 MCLR Yazılımsal olarak kapatma

Başlatan garezza, 11 Kasım 2015, 15:35:36

garezza

Selam arkadaşlar.
#FUSES HSH
#FUSES PUT                      //Power Up Timer
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOPBADEN                 //PORTB pins are configured as digital I/O on RESET
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOSTVREN                 //Stack full/underflow will not cause reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOXINST                  //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES PLLEN
#FUSES PRIMARY             


Ayarlarını kullanıyorum ancak MCLR bir türlü iptal edemedim dokunduğum anda pic resetleniyor. MCLR bacağı boşta. Yardımlarınız için teşekkürler.

Maxim

o şekilde deneme olmaz zaten, parmaklarsanız işlemci resetlenir
mclr tarafıyla ilgisi yok pek

garezza

#2
Bu bir eksiklik değil mi faklı durumlarda da reset atma ihtimali doğurur diye tahmin ediyorum? Bu arada özellikle mclr pinine dokunmaktan bahsediyorum , pic'i parmaklamak değil durum.

Okan AKÇA


kudretuzuner

#4
Merhaba,
"MCLR bacağı boşta."
PIC ile yaptığınız çalışmalarda MCLR'i hiçbir zaman boşta bırakmayın uygun bir direnç ile (+) bağlayınız,hatta hiçbir pini boşta bırakmayın.yazılımsal olarak uygun bir dirençler ile ya şaseye(_) veya (+) bağlayınız.
Amatör

skara1214

Alıntı yapılan: kudretuzuner - 11 Kasım 2015, 19:17:11
Merhaba,
"MCLR bacağı boşta."
PIC ile yaptığınız çalışmalarda MCLR'i hiçbir zaman boşta bırakmayın uygun bir direnç ile (+) bağlayınız
aynen katılıyorum
Herkes ölür ama herkes gerçekten yaşamaz

garezza

Yanıtlar için teşekkür ederim.  18f25k22'nin mclr pini aynı zamanda PIN_E3. Bu pini giriş I/O olarakta kullanmak isteyebilirdim ve neticede mclr yazılımsal olarak iptal etmem gerekecekti bu yüzden hala ihtiyacım var.
Alıntı yapılan: kudretuzuner - 11 Kasım 2015, 19:17:11
Merhaba,
"MCLR bacağı boşta."
PIC ile yaptığınız çalışmalarda MCLR'i hiçbir zaman boşta bırakmayın uygun bir direnç ile (+) bağlayınız,hatta hiçbir pini boşta bırakmayın.yazılımsal olarak uygun bir dirençler ile ya şaseye(_) veya (+) bağlayınız.

Bende bu konuda size katılıyorum dijital devrelerde hiçbir pini boşta bırakmamak en doğru yöntem. PCB  basıldığı için devre devre üzerinde değişiklik yapamıyorum.

garezza

Bu konuyu çözemedim.  Ancak asm ile direk registerin değerini değiştirerek çözülebileceğini düşünüyorum. Asm konusunda zayıf olduğumdan tekrar yardımlarınızı rica ediyorum. Amacım:
#asm 
BCF 03,0 
RRF fcshi,F // rotates the entire 16 bits 
RRF fcslo,F // to the right 
#endasm

şeklinde direk olarak ilgili registerde değişiklik yaparak PIN_E3 mclr iptal ederek giriş olarak ayarlamak.

sadogan

#FUSES NOMCLR  diyince zaten kapatıyorsunuz.
Sizi yanıltan bu pin in başka bir görevi daha var.
Program atarken bu pine 12 volt civarında bir gerilim uygulanır ve 25k22
programlanma moduna geçer işte siz elinizle dokununca programlanma moduna sokuyorsunuz.
bunuda cod la cözemesiniz.



mesaj birleştirme:: 18 Kasım 2015, 01:16:01



mesaj birleştirme:: 17 Kasım 2015, 11:16:06


JKramer

Alıntı yapılan: Okan AKÇA - 11 Kasım 2015, 17:58:14
#fuses nomclr
Yukarıda söylenmiş, en başta da siz yapmışsınız zaten. MCLR iptal etseniz de boşta bıraktığınız sürece sorunla karşılaşabilirsiniz. Bu daha çok o pin'in 10 küsür volt'da programlama moduna girmesinden kaynaklanıyor. ICSP kullanmadığınıza göre MCLR bacağına bir direnç lehimleyip Vdd'ye bağlamanız lazım.

Ben yazana kadar sadogan da aynı şeyi yazmış :), neyse dursun.

garezza

#use FIXED_IO( E_outputs=PIN_E3 ) dediğimde çıkış olarak kullanamıyorum. Buda kapatamadığımı gösteriyor.

Maxim

MCLR ucu yani E3 pini çıkış olmaz
sadece giriş olabilir

Murat Mert

S.A. kristal ve mclr uçlarını giriş olarak kullan bu tür sıkıntılar yaşarsın.
mert07