pic frekansını fabrika ayarlarında sabit tutan komut

Başlatan tekniker_murat, 20 Ocak 2010, 01:08:23

tekniker_murat

Arkadaşlar pic basic komutlarından bi komut vardı örneğin 12F675 in iç osc sini kullanarak bi rf tx devresi yapmaya uğraşıyorum ama bi komut vardı set_osc_call 1  mi böyle bişeydi bu komutu yazınca osc frekansını fabrika ayarlarında tutup değişmesine izin vermiyordu...

Arkadaşlar neydi bu komut unuttum gitti kafayı sıyırıcam çözemedim gitti yaa unuttum mu böyle unutuyorum işte :D
[email]murat.yagci.1984@gmail.com[/email]

Tagli

Fabrika ayarlarında sabit tutmaktan kastettiğin nedir? Zaten durduğu yerde değişmez ki. Kalibrasyon değerinden bahsediyorsan bunun silinmemesi senin yazdığın programa değil kullandığın programlayıcıya bağlıdır. Genelde bu programlar (yani programlayıcı programlar) PIC'e program atarken bu değeri okur (yoksa silinme sırasında kaybolurdu), silip programlayınca da yeniden yazar. İşi garantiye almak için yeni aldığın PIC'i okutup program hafızasındaki son değeri (yani son adresteki değeri) bir yere kaydedebilirsin. Gelişmiş programlayıcı cihazla (mesela PicKit2) kalibrasyon yapıp bu değeri hesaplayarak PIC'e yükleyebiliyor. Böyle bir cihazın varsa silinmesinden korkmana da gerek yok.

Bir de bazı PIC'lerde PIC'i biraz daha hızlandırmak veya yavaşlatmak için bir register bulunur. Aslında 12F675'tekine benzer ama bunlarda standart değer 0 ve normalde program hafızasından kalibrasyon değeri okuyup buraya yazmak gerekmiyor. Register'ın ismini unuttum gerçi.

Ekleme: OSCTUNE imiş. Örneğin 16F887'de var.
Gökçe Tağlıoğlu

tekniker_murat

tamam aradığım komutu buldum arkadaşlar ama sn tagli ustam sizin dediğiniz konuda ilginç bir ara bu konuyu genişletelim isterim...

Benim dediğim komut şu DEFINE OSCCAL_1K
[email]murat.yagci.1984@gmail.com[/email]

OG

Alıntı yapılan: "tekniker_murat"tamam aradığım komutu buldum arkadaşlar ama sn tagli ustam sizin dediğiniz konuda ilginç bir ara bu konuyu genişletelim isterim...

Benim dediğim komut şu DEFINE OSCCAL_1K
DEFINE OSCCAL_1K 1
Her programlayıcı bu komutu desteklemeyebilir, ilgili adresteki datayı siler atar dikkat etmelisin.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Tagli

Daha önce duymadığım için merak edip internetten araştırdım. Bu komutun yaptığı şey program hafızasının sonundaki fabrika kalibrasyon değerini okuyup OSCCAL register'ına yazmak. Böylece PIC kalibre edildiği değerde çalışmış oluyor. Ama eğer yanlışlıkla bu değer silinmişse bu komutu yazmak PIC'in sonsuz döngüye gidip sapıtmasına sebep olabilir.

Bir de şöyle bir ifade gözüme çarptı resmi rehberde:
Alıntı YapPICBASIC PRO will automatically load the OSCCAL value for the 12-bit core devices, if it is available. It is unnecessary to use the above DEFINEs with these devices.
12 bit çekirdeği olan cihazlarda kullanmak gerekmez, otomatik yapılır diyor. Ama bence sen ne olur ne olmaz yaz yine de. Veya yazmadan bir deneme yapıp çıkan assembly kodundan kontrol edebilirsin.
Gökçe Tağlıoğlu