High Tech C de Config nasıl yazılır.

Başlatan XX_CİHAN_XX, 21 Temmuz 2008, 21:23:23

XX_CİHAN_XX

HS, WDTDIS, PWRTDIS, BORDIS, LVPDIS, WRTDIS, UNPROTECT

Bu gibi bildirimleri programda nasıl belirtiyoruz ?
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ustad

pic16F819 için yazılmış config bildirimleri.

__CONFIG(UNPROTECT   &   DEBUGDIS   &   LVPDIS   &   BORDIS   &   PWRTDIS   &   WDTDIS   &   INTIO   &   MCLREN);

benzer şekilde kullandığınız pic e uygulabilirsiniz.

hiashua

Hitech c' de eğer 16f serisi için kod yazıyorsanız programın başına htc.h dosyasını include olarak yapmalısınız. (Mplab ı kullandığınızı varsayıyorum). O dosya sizin proje oluştururkenb seçtiğiniz Pic in adını bulup gerekli olan Pıc inc. dosyasının koda eklenmesini sağlıyor. htc.h dosyasının içini açıp hangi pic için hangi include dosyasını eklediğine bakın. Sonrada o dosyayı varsayalım ki p16fxx.h  açıp en alt kısmında gerekli konfiglerin define tanımlamaları göreceksiniz. Sonra yazacağınız ...

// bu bir örnektir.
__CONFIG( MCLRDIS & UNPROTECT & ....& ....&....)


Pic18 için daha kısadan benim yazdığım bir koddan alıntı yaparak anlatmaya çalışayım.

#include <pic18.h>
#include "delay.h"

/*
	Config ayarlarını kendiniz yazmanız için 
	PICC18 Manuel S.146'ya ve gerekli pic18fxxxx.h include dosyasına bakınız.
	Bunu bizim için mplab ta yapabilir ama 
		iyi bir firmware yazılımcısı kontrolü ele almalı.
*/
__CONFIG(1, HS & OSCSEN);
__CONFIG(2, BORDIS & PWRTDIS & WDTDIS);
__CONFIG(4, DEBUGDIS & LVPDIS & STVRDIS);
__CONFIG(5, UNPROTECT);
__CONFIG(6, WRTEN);
__CONFIG(7, TRU & SWDTDIS);
/*  Merak ilmin hocasıdır.  */

CLR

Merhaba,

Config içine "HS, WDTDIS, PWRTDIS, BORDIS, LVPDIS, WRTDIS, UNPROTECT" gibi isimleri kullanmadan doğrudan configurasyon bitlerine göre (işlemci datasheet'inden configurasyon bölümüne bak) yazabilirsin. Aynı asm'deki gibi.

Örnek:
__CONFIG(0x3F02);
Knowledge and Experience are Power

XX_CİHAN_XX

Arkadaşlar bu doyurucu bilgiler için çok teşekkürler. Yanlız birşey kafama takıldı. @hiashua,  mplabda çalışıyorsan  htc.h dosyasını include etmen gerek dedin. Ben mplabda çalıştığım halde bu dosyayı include etmedim ve yinede kullandığım picin include olduğunu gördüm. Aksi halde program hatalı çalışırdı. Sizce bu neden olabilir ?
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

arslan74

Alıntı yapılan: "XX_CİHAN_XX"Arkadaşlar bu doyurucu bilgiler için çok teşekkürler. Yanlız birşey kafama takıldı. @hiashua,  mplabda çalışıyorsan  htc.h dosyasını include etmen gerek dedin. Ben mplabda çalıştığım halde bu dosyayı include etmedim ve yinede kullandığım picin include olduğunu gördüm. Aksi halde program hatalı çalışırdı. Sizce bu neden olabilir ?

Merhaba,

htc.h yeni versiyonlarda olan bir kütüphane. eski versiyonlarda bu kütüphane yok. Onun yerine pic.h eklemeniz yeterlidir. Yeni versiyonlarda sadece pic.h eklemeinizde olur Ancak size bu kullandığınız kütüphanenin eski bir kütüphane olduğu uyarı veriyor, ancak yinede derliyor.

Selamlar