Ynt: hangi pini kullanmam mantikli olur?

Başlatan Karamel, 14 Eylül 2014, 15:43:38

justice_for_all

OSCCON=0x77; yapıp denermisin bide
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Karamel

#16
ise yaramadi hocam. surada birey var ama hicbirsey anlamadim acikcasi. http://www.microchip.com/forums/m553377.aspx

mesaj birleştirme:: 15 Eylül 2014, 12:30:09

neyse hocam. olmadi 8mhz de calistiririm bende. zaten hiz gerektiren bir durum yok ama bu konuyu cozersek 32mhz calistirmak zorunda olan arkadaslara yardimci olmus olabiliriz.

justice_for_all

#17
OSCCON = 0x70
OSCTUNE = 0x40

bu sırayla yapman lazım


            OSCTUNE.PLLEN = 1;  //1.grup
            
            OSCCON.IRCF2 = 1;  //2.grup
            OSCCON.IRCF1 = 1;
            OSCCON.IRCF0 = 1;


senin yaptığın koddaki hata sıralama hatası.

default osilatör ayarı 1 mhz dir.1. grubu once yazınca frekansın 1mhz oldugu için pll enable yapsan bile otomatik olarak disable yapıyor.cunku PLL min 4mhz de aktif oluyor.Bu yüzden 2. grubu ilk başta yazarsan frekansı 8 mhz ayarlamış olursun ve sonrasında PLL aktif olmuş olur.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Karamel

denedim hocam. buda ise yaramadi. hocam bence sorun su.

olmasi gereken tablomuz bu.



ama sanirim mikroc nin edit project sekmesinden internal osc secenegi ile osilator asagidaki yesil yolu izliyor.


justice_for_all

proteus ile mi deniyosun sen bunu? CONFIG1H değerin ne senin?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Karamel

yok hocam. devre uzerinde deniyorum. hocam anladigim kadari ile config registerlarini edit project sekmesi yapiyor. su resimde config registerlarimin durumu gozukuyor.


justice_for_all

Kristali cıkarttın değil mi?

son olarak edit project osilatör selection dan HSPLL yapıp denermisin bide.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

sadogan

Alıntı yapılan: justice_for_all - 15 Eylül 2014, 11:06:50
internel osc ler kristallerden herzaman daha kararlıdırlar ve daha az hatayla calısırlar hocam
Tersini demek istediniz sanırım.

Karamel

Alıntı yapılan: justice_for_all - 15 Eylül 2014, 13:39:38
Kristali cıkarttın değil mi?

son olarak edit project osilatör selection dan HSPLL yapıp denermisin bide.

hocam kristali cikarttim. hspll yapinca calismiyor hocam. kristal bacaklarindan gelen yol seciliyor o zaman. hocam bu microcontroller in int oscsinin 8mhz den 32mhz e katlanabildiginden eminmiyiz? cunki config1h registerinin aynisi edit project sekmesindede var ve oradada int osc nin pll secenegi yok.



Alıntı yapılan: sadogan - 15 Eylül 2014, 13:44:36
Tersini demek istediniz sanırım.

hocam bende sizinki gibi biliyordum. tersi gelince sasirdim.

justice_for_all

Alıntı yapılan: sadogan - 15 Eylül 2014, 13:44:36
Tersini demek istediniz sanırım.

evet bi hata olmuş kusura bakmayın.

Alıntı yapılan: Karamel - 15 Eylül 2014, 13:49:12
hocam kristali cikarttim. hspll yapinca calismiyor hocam. kristal bacaklarindan gelen yol seciliyor o zaman. hocam bu microcontroller in int oscsinin 8mhz den 32mhz e katlanabildiginden eminmiyiz?

kodunun sadece config ve registerler ayarlarını görebilirmiyim?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Karamel

#25
ayrica suradada bir tutarsizlik var hocam. bu semaya gore tek bit ile hem 8mhz i hemde 4 mhz i pll kismina veriyoruz? benmi yanlis yorumluyorum bu durumu?

ayrica ikinci tutarsizlikda su. config1h program icersinde degistirilemiyor. diyelim ki HSPLL i sectik. OSCTUNE nin 6. bitini program icersinde aktif ediyorum. microcontroller baslangicta clock kaynagi bulamayacak kendisine?

eger config1h den internal osc secersekte bu sefer pll yapmamizin bir anlami kalmayacak?



mesaj birleştirme:: 15 Eylül 2014, 13:57:08

hocam config i gosteren resmi 3. kez upload ettim.... kirmizi cerceve icersine aldim sizin icin.


justice_for_all

#26
işlem sırası ilk önce configden dahili osilatör seçilir.daha sonra osccondan istediğiniz frekans ayarlanır.(PLL için 4 mhz ve 8 mhz kullanabilirsiniz) Daha sonra osctune ile pll enable yapılır.

en sonunda frekansx4  almanız gerekir.

mesaj birleştirme:: 15 Eylül 2014, 14:00:17

Alıntı yapılan: Karamel - 15 Eylül 2014, 13:54:55


hocam config i gosteren resmi 3. kez upload ettim.... kirmizi cerceve icersine aldim sizin icin.



ben kodunuzu kastetmiştim.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Karamel

hocam osccon sc1 ve sc0 ile mi pll i sececegiz? eger boyle ise oda ise yaramiyor.


            OSCTUNE.PLLEN = 1;                  // OSC ayarlarimiz
            
            OSCTUNE.TUN4 = 0;
            OSCTUNE.TUN3 = 0;
            OSCTUNE.TUN2 = 0;
            OSCTUNE.TUN1 = 0;
            OSCTUNE.TUN0 = 0;
            
            OSCCON.IRCF2 = 1;
            OSCCON.IRCF1 = 1;
            OSCCON.IRCF0 = 1;
            
            Delay_ms(100);
            
            OSCCON.SCS1 = 0;
            OSCCON.SCS0 = 0;

justice_for_all

#28
iste bak PLLEN ilk başa koymussun bu yalnış.Hepsini sil sadece

            OSCCON=0;
            OSCTUNE=0; //yaz garanti olsun

            OSCCON.IRCF2 = 1;
            OSCCON.IRCF1 = 1;
            OSCCON.IRCF0 = 1;

            OSCTUNE.PLLEN = 1;


boyle yaz.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

Karamel

hocam simdi 32mhz de calisiyor. ne yaptik ben hicbirsey anlamadim.  :-\


birde hocam sormak istedigim birsey daha var. simdi icime kurt dustu. 2 pin e ihtiyacim vardi. bunlari osc pinlerinden alarak cok rahatladim. yanliz int osc nin kararliligi ne durumdadir? devremde 9600 baud rate lik bir uart var. baskada zaman ile ilgili kritik birsey yok. sorun yasarmiyim ki?