Picproje Elektronik Sitesi

DERLEYİCİLER => Hi-Tech => Konuyu başlatan: hsaglam - 19 Temmuz 2006, 23:47:36

Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: hsaglam - 19 Temmuz 2006, 23:47:36
merhaba arkadaşlar
Pic programlarken kullandığımız delay.h lcd.h lcd.c gibi program başında çağırdığımız ve kullandığımız header dosyaları aslında kullanıcı tanımlı bir dosyamıdır?

Eğer öyleyse program içinde birden çok kez kullandığımız rutinleri bir header dosyası gibi yapıp programın başında #include ile çağırıp kullanabilirmiyiz?
Başlık: include
Gönderen: ipek - 20 Temmuz 2006, 00:03:08
orijinal dosyayi hic bozmayin kopyalayin yeni bir tane yaratin ornek
delay dosyasi farz edelim bu dosya delay hizmetini size tam veremiyor
degerleri istediginiz gibi ayarlayin kaydedin misal delays olsun boylece
hem orijinallik bozulmamis olur microchip mp assembler'de disaridan
istediginizi cagirabilirsiniz kisitlama yok yeterki cagirdiginiz dosya mantik
cercevesinde olsun ornek bir adress ram locasyonu hem iceriden hem disaridan cagrilamaz c ile yaziyorsaniz bunu bilenlerin cevaplamasi daha
dogru olur kolay gelsin....
not mplab asm haliyle ccs yada pic basic pro gibi kolayliklara sahip değildir bank degistirmek icin makroda yazabilirsin yada dusundugun gibi
kendi include dosyasini yazip banklari bunun icinden cagirabilirsin.... ornek  16f877.inc dosyasini editleyip en alt kismindaki list satirinin bir ustune kopyalayabilirsin



Bank0      MACRO         ;macro to select data RAM bank 0
      bcf   STATUS,RP0
      bcf   STATUS,RP1
      ENDM

Bank1      MACRO         ;macro to select data RAM bank 1
      bsf   STATUS,RP0
      bcf   STATUS,RP1
      ENDM

Bank2      MACRO         ;macro to select data RAM bank 2
      bcf   STATUS,RP0
      bsf   STATUS,RP1
      ENDM

Bank3      MACRO         ;macro to select data RAM bank 3
      bsf   STATUS,RP0
      bsf   STATUS,RP1
      ENDM

list
Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: hsaglam - 20 Temmuz 2006, 00:50:19
teşekkür ediyorum.
ben hitech c ile uğraşıyorum header dosyalarının rutinlerini incelerken bu konu aklıma geldi. neticede lcd.c delay.c gibi dosyalar aslınca c ile yazılmış rutinler.
Örneğin programı yazan
lcd_init();
diye bişey tanımlamış ve o rutin de lcd'yi başlatmış falan...
C de biraz ileri seviyedeki arkadaşlar da bu konuda birşeyler paylaşırsa minnettar kalırım şimdiden teşekkürler.
Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: piedos - 20 Temmuz 2006, 01:35:48
hitech c de lcdyi altsatıra geçirmek için örnek fonksiyon var mı

CCS de kaynak kod var ama CCS ansiC olmadığı için bir türlü hitech e uyarlayamadım
Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: hsaglam - 20 Temmuz 2006, 13:48:46
değerli arkadaşım
programda lcd'ye yazdırma işlemini yaptığın komut satırından önce pozisyon bilgisini verebilirsin

örnek
.
.
lcd_goto(0x00+5);
lcd_puts("merhaba);       ----> lcd'nin 1.satır 5. sütununa yazar

veya

lcd_goto(0x08+5);
lcd_puts("merhaba);       -----> lcd'nin 2. satır 5. sütununa yazar

bu dediklerim hmd44780 (LM016L) lcd için geçerli
kolay gelsin
Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: hsaglam - 20 Temmuz 2006, 13:49:56
pardon kodlamayı hatalı yapmışım çalışanı bu

örnek
.
.
lcd_goto(0x00+5);
lcd_puts("merhaba"); ----> lcd'nin 1.satır 5. sütununa yazar

veya

lcd_goto(0x08+5);
lcd_puts("merhaba"); -----> lcd'nin 2. satır 5. sütununa yazar

bu dediklerim hmd44780 (LM016L) lcd için geçerli
kolay gelsin
Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: hsaglam - 20 Temmuz 2006, 13:51:41
bu komut için detaylı olarak include klasörünüzün içindeki lcd.c ve lcd.h
header dosyalarının içeriğini inceleyerek daha detaylı bilgi edinebilirsiniz
(port bağlantı blgileri, komutlar ve kullanımı gibi)
Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: piedos - 21 Temmuz 2006, 10:47:28
Alıntı yapılan: "hsaglam"değerli arkadaşım
programda lcd'ye yazdırma işlemini yaptığın komut satırından önce pozisyon bilgisini verebilirsin

örnek
.
.
lcd_goto(0x00+5);
lcd_puts("merhaba);       ----> lcd'nin 1.satır 5. sütununa yazar

veya

lcd_goto(0x08+5);
lcd_puts("merhaba);       -----> lcd'nin 2. satır 5. sütununa yazar

bu dediklerim hmd44780 (LM016L) lcd için geçerli
kolay gelsin

lcd_goto(0x80); birinci satır
lcd_goto(0x40); ikinci satır
Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: hsaglam - 23 Temmuz 2006, 01:07:20
arkadaşım teşekkür ederim düzelttiğin için
aynı anda birçok pencere ile uğraşırken bu tip hatalar olabiliyor.
Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: hsaglam - 23 Temmuz 2006, 01:12:35
konu başlığı hakkında baya gelişme kaydediyorum(kendi header dosyasını oluşturma)

Yakında forumda bunları paylaşacağım. Bu şekilde hem programlar daha sadeleşmiş olacak okunurluğu artacak hem de  hata ayıklama geliştirme gibi işlemler daha basite indirgenebilecek.

neticede c fonksiyonların ard arda oluşturduğu programlardan oluşur. Header file ın özelliği ise diğer bir dosyadan değişken değeri alabilmesi şeklinde özetlenebilir. Neticede o da aslında bizim program içinde tanımlamış olduğumuz bir fonksiyondur.
Başlık: header dosyalarını kendimiz yapabilirmiyiz???
Gönderen: CoşkuN - 23 Temmuz 2006, 14:02:09
Kendi header dosyalarımızı yapabileceğimiz gibi mevcut olanları da zenginleştirebiliriz.Örneğin LCD başlık dosyasına Türkçe karakter desteği eklemek gibi...
Sonuçta bu dosyalar da birer program parçası.