Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

Ynt: Pic24fj128ga010

Başlatan Halilsaglam, 19 Haziran 2015, 12:14:56

Halilsaglam

Pic 24 ailesinden olan pi24fj128ga010 hakkında genel bilgiler

mesaj birleştirme:: 19 Haziran 2015, 12:15:51

ccs ile pic 24 osilator frekansı ayarlama nasıl yapılır

Recep METE

Internal Oscilator: 8MHz, 32kHz
Max.cpu.frequency: 32MHz
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

Halilsaglam

Onları biliyorum peki hangi fonksiyonlarla onları ayarlıyoruz.

#use delay(crystal=32MHz)

fonksiyonunu kullanıyorum bu yeterli midir

baran123

Dahili olarak 8Mhz mevcut.Sen bunu sigorta ayarlarından PLL ile 4 ile çarptırıp 32MHz'e çıkara bilirsin(max).
PIC24leri deneyemiyorum.Yanlış olabilir bir kontrol et.(Dahili osc kullanılıyor)
#fuses INTRC_IO, PLL
#use DELAY(CLOCK=32MHz)

skara1214

#fuses NOWDT,HS,PR,PROTECT
#use delay(clock=10M)
bu şekilde çalışıyor
Herkes ölür ama herkes gerçekten yaşamaz

Halilsaglam

Herkese teşekkürler
Başka sorum daha olacak,
Ben bir voltage loop yapacam ve 50kHZ de çalışmasını istiyorum bunu nasıl yapabilirim.

Halilsaglam

Bütün pic lerde osilator frekansı 4 e mi bölünüyor?

RaMu

Osilatör frekansı için project wizard kısmını kullanman daha iyi olur.
Project wizard da yapacağın ayarlar sonucunda
#use delay(internal=8MHz)
satırı main.h dosyasına eklenir,
tabiki bu satırı kendinde yazabilirsin,
#use delay(internal=8MHz) ile dahili osilatör 8MHz olarak kullanılacak demiş olursun,
ayrıca #fuses kısmına bir şey yazmana gerek yoktur.
Eski versiyon CcsC derleyicilerinde #fuses kısmı önemli olabiliyordu,
son versiyon CcsC derleyicilerini kullanmaya özen göster.
Ayrıca CcsC nin help kısmında bu fonksiyonlar örnekli anlatılmış durumda incelemende fayda var.
Birde kullandığın mcu nun .h dosyasına bakmanda iyi olur,
fonksiyonlarda kullanabileceğin tüm parametereler .h dosyasında bulunur.

Birde dahili osilatörü kullanırken,
setup_oscillator( OSC_8MHZ );
satırını main.c de kullanmak gerekebiliyor,
setup osc. kullanılsada, delay_ms vs. gibi fonksiyonlar için kullanılan osilator frekansını #use delay kısmı belirler.

Osilatör frekansının 4e bölünmesi seni pek ilgilendirmiyor,
asm ile kod yazsaydın önemli olurdu.
Pic 1 asm komutunu (çoğunu hepini değil) 4 clock çevriminde tamamlıyor,
16F ve 18F ler için bu böyle ama
32F ler biraz daha farklı çalışabiliyor, kesin olarak bilmemekle beraber;
bir komut işlenmeye başlanıp 4te1i 1. clock çevriminde işlenip 2. clock çevrimine geçildiğinde
sıradaki komutunda ilk saykılı işlenmeye başlanabiliyor,
bu sayede 8 clock saykılında 2 den fazla komut işlenebiliyor.
24F deki durumu bilmiyorum ondada böyle olabilir.
Mibs denen birime bakman lazım,
kullandığın mcu hangi osilatör  frekansında kaç mibs ile çalışabiliyorsa
o mibs kadar komut işler,
MIBS Million Instructions Per Second, saniyede işlenen milyon komut sayısı.
Misal 4 mibs ise saniyede 4 milyon asm komutu işler demektir.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Halilsaglam

Verdiğin bilgiler için teşekkür ederim.

Ben biraz daha araştırma yaptım normalde max osilator frekansı 8MHz iken onu PLL yardımıyla 4 katına çıkarabiliyorum
Ben Power Supply yapıyorum ve olabildiğince hızlı olamsı gerekiyor.
Pic'in içindeki .h dosyasına bakınca PLL li kullanabileceğim Fonksiyonu buldum.

Başka bir sorum daha olacak:

Ben dışarıdan ADC ile bir sinyal alırsam onu pic in içine pic ADC 10 bit olduğundan 1024 parçaya bölüp öyle alıyor
Proteus 8.1 versiyonu kullanıyorum ve pic in içine attığın sinyali tekrar dışarı verebilirmiyim.
Yani kontrol amaçlı olarak acaba doğru bir şekilde mi aldım

Vereceğiniz cevaplar için şimdiden teşekkürler.

Halilsaglam

Bir de PWM dışında pic in içinden nasıl dışarı sinyal verebilirim

RaMu

Misal ADC ile okuduğumuz değeri gerilim olaral lcd de gösteriyoruz,
basit bir DC voltmetre gibi.
Eğer ADC ye girdiğin gerilim değerini doğru bir ölçü aleti ile ölçüp,
picle yapılan devrede lcd üzerinde yazan değerle karşılaştırmak
bir çözüm olabilir.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html