MSP430 Kütüphane Dosyası Yazmak???

Başlatan Firzen, 14 Mayıs 2013, 18:01:26

Firzen

Merhabalar Arkadaşlar;
Bir çok mikroişlemci hakkında bu sitede birçok şey öğrendim sağolsun Fatih abi ve Erhan beyin yayınları ile de MSP430 Stellaris konusunda beya birşey öğrendim ama öğrenemediğim birşey var.
Kütüphane (HEADER DOSYASI) dosyası yazmak.
Fatih abinin ve Erhan beyin yazılarında kendileri kütüphane dosyaları yazmış ama ben bir türlü kendim için nasıl yazıldığını anlamadım???
Bu konuda bilgisi olanlar paylaşabilir mi acaba???
Kararsız...

metaltrrocker

hocam benim de bilgim yok ama C programlama dili ile şamatalar konusunda nasıl kütüphane dosyaları hazırlanacağı konusunda bilgi vardı.

Firzen

Baktım ama Oraya bir kez daha bakacağım.Birşeyler bulurum umarım.
Kararsız...

fgokcegoz

Kütüphane dosyası yazmak zannedildiği kadar zor değildir. Mesele SPI ile ilgili bir kütüphane hazırlamak istediğinizi farz edelim. Bunun için bir adet kaynak dosyası (.c formatlı olan - source file), bir adet te başlık dosyası (.h formatlı olan - header file) oluşturulacaktır. Bunu yeni metin belgesi oluşturup formatını .txt yi silip, .c veya .h yazarak yapabilirsiniz...

Bu aşamadan sonra kullandığınız derleyici her ne ise (IAR, CCS vs.) bu oluşturduğunuz dosyaları eklemeniz gerekmektedir. Bundan sonra projenize eklenmiş iki adet dosyanız olacaktır. Örneğin, SPI.c ve SPI.h olarak iki dosyanızın olduğunu farz edelim... Bundan sonraki iş bunların içini doldurmak...

.c formatlı olan source file da SPI ile ilgili kullanılacak fonksiyonları yazacaksınız. Örneğin, SPI_init(), SPI_write(), SPI_read() gibi... Bu fonksiyonların prototiplerini ise .h formatlı header dosyasına yazacaksınız. Fonksiyon prototipi yazma konusunda C ile ilgili kitapları karıştırmanız tavsiye edilir...

.h formatlı olan header file da, fonsiyon prototipleri haricinde, kullanılacak olan tanımlamalar (#define, extern vs.) eklenebilir. Daha sonra makrolarınız varsa onlar eklenebilir. Ama değişken tanımlamalarınız bu dosyada olmamalı. Yani .h formatlı header file da derlenecek kod olmamalı. Sadece tanımlamalar vs. olmalı.

Bu aşamayıda atlattıktan sonra, main.c dosyasında, .h formatlı header file ı include etmeniz gerekmektedir. Bu işlem orada yazılan tanımlamaları aynen alıp main.c nin include ettiğiniz kısma yapıştırılmış gibi düşünebilirsiniz. Bu aşamadan sonra, main.c içerisinde ilgili kütüphanenin .c formatlı kaynak dosyasındaki fonksiyonları kullanabilirsiniz.

Not : .c formatlı source file lar include edilmez. Bu C de bence büyük bir hatadır...

Not2 : C bilginiz ilerledikçe, kütüphaneleriniz oldukça fonksiyonel ve kullanışlı olduğunu, kendiniz kısa zamanda fark edeceksiniz... :)
"Vicdanın ziyası, ulûm-u diniyedir. Aklın nuru, fünun-u medeniyedir. İkisinin imtizacıyla hakikat tecelli eder." (Bediüzzaman Said Nursi)

ayhan_eee

oluşturmakla ilgili kısmı zaten    @fgokcegoz gayetiyi anlatmış.benim önerim ST veya TI tarafından hazırlanmış kütüphaneleri incelemendir.Çok kullanışlı özellikler göreceksindir zaten