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?
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
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.
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
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
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
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)
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
arkadaşım teşekkür ederim düzelttiğin için
aynı anda birçok pencere ile uğraşırken bu tip hatalar olabiliyor.
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.
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ı.