Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Microchip PIC => Konuyu başlatan: ugurer - 12 Ocak 2017, 17:09:25

Başlık: 18F Serisi Register Kontrolü
Gönderen: ugurer - 12 Ocak 2017, 17:09:25
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)
Başlık: Ynt: 18F Serisi Register Kontrolü
Gönderen: OG - 12 Ocak 2017, 17:46:30
Evet, doğrudur. Bu özellik çok zamandır microchip'in çok ürününde var.
Başlık: Ynt: 18F Serisi Register Kontrolü
Gönderen: apsis - 12 Ocak 2017, 23:31:41
Kullandım ve gerçekten çoğu zaman işimi kolaylaştırıyorlar. Config'ler ile kolayca ayarlanabiliyorlar.
Başlık: Ynt: 18F Serisi Register Kontrolü
Gönderen: ugurer - 13 Ocak 2017, 08:25:04
Kullanımı nasıl oluyor ya peki, ben CCS C kullannıyorum da datasheet'te ki örneklerden pek bir şey anlamadım.
Başlık: Ynt: 18F Serisi Register Kontrolü
Gönderen: apsis - 13 Ocak 2017, 15:09:54
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.
Başlık: Ynt: 18F Serisi Register Kontrolü
Gönderen: ugurer - 13 Ocak 2017, 16:42:30
@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.
Başlık: Ynt: 18F Serisi Register Kontrolü
Gönderen: apsis - 14 Ocak 2017, 00:42:56
@ugurer CCS C için de aynı durum smz konusu. Siz CCS'de #FUSES bitlerini yazmayı biliyorsanız bunu yapabilirsiniz.
Başlık: Ynt: 18F Serisi Register Kontrolü
Gönderen: ugurer - 14 Ocak 2017, 08:38:24
@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