Merhaba arkadaşlar, bir proje için 18f47k40 serisi kullanacağım. Datasheet'ine bakarken registerları oynarak baya bir değişiklik yapılabildiğini gördüm. Örnek vermek gerekirse normalde tanımlı olan haberleşme portlarını registerları değiştirerek farklı bir porta aktarabiliyormuşuz. Yani kabaca PERIPHERAL PIN SELECT (PPS) MODULE'ü nasıl kullanıyoruz. Datasheet'te sayfa 212'den itibaren,
http://ww1.microchip.com/downloads/en/DeviceDoc/40001844B.pdf (http://ww1.microchip.com/downloads/en/DeviceDoc/40001844B.pdf)
Evet, doğrudur. Bu özellik çok zamandır microchip'in çok ürününde var.
Kullandım ve gerçekten çoğu zaman işimi kolaylaştırıyorlar. Config'ler ile kolayca ayarlanabiliyorlar.
Kullanımı nasıl oluyor ya peki, ben CCS C kullannıyorum da datasheet'te ki örneklerden pek bir şey anlamadım.
Ben 18f25k22 CCP çıkışını başka bir pine taşımıştım. Tabi istediğin pine taşıma yapamıyorsun ve sadece üreticinin gösterdiği pinlerden birini seçebiliyorsun.
#pragma config CCP2MX = PORTC1 // CCP2 MUX bit (CCP2 input/output is multiplexed with RC1)
#pragma config PBADEN = ON // PORTB A/D Enable bit (PORTB<5:0> pins are configured as digital I/O on Reset)
#pragma config CCP3MX = PORTC6 // P3A/CCP3 Mux bit (P3A/CCP3 input/output is mulitplexed with RC6)
#pragma config HFOFST = ON // HFINTOSC Fast Start-up (HFINTOSC output and ready status are not delayed by the oscillator stable status)
#pragma config T3CMX = PORTC0 // Timer3 Clock input mux bit (T3CKI is on RC0)
#pragma config P2BMX = PORTB5 // ECCP2 B output mux bit (P2B is on RB5)
#pragma config MCLRE = INTMCLR // MCLR Pin Enable bit (MCLR pin enabled, RE3 input pin disabled)
Ben XC8 kullanıyorum, CSS C yi bilmem ama bu ayarlar konfigürasyonlar ile yapılıyor. İlgili işlemcinin config. registerlerini incelersen bulabilirsin.
Yukarıdaki örnekte CCP2MX= PORTC1 ye tanımalamışım. İstersem PORTB3'e de tanımlayabilirdim. CCP3MX, T3CMX VE P2PMX için de benzer durumlar geçerli. Yani bunları kullanmak için özel bir algoritmaya gerek yok.
@apsis teşekkürler, datasheet'te dediğiniz gibi neyi nereye taşıyabileceğim bilgisi var. CCS C için biraz daha araştırayım bakalım.
@ugurer CCS C için de aynı durum smz konusu. Siz CCS'de #FUSES bitlerini yazmayı biliyorsanız bunu yapabilirsiniz.
@apsis aynen bugün ya da pazartesi bakmaya çalışacağım gelişme olursa haberdar ederim. Tekrar teşekkürler yardımlarınız için