aşağıdaki gibi basit bir lcd uygulaması yapmak istiyorum ancak kodu yazdığımda missing #endif die bi hata veriyor üstelik yazdığım program 16 satır ise hatayı 18. satırda veriyo ne olduğunu bir türlü anlayamadım
#include <lcd uygulaması.h>
#use delay(clock=4000000)
#use fast_io(b)
#define use_portb_lcd TRUE
#include <lcd.c>
void main()
{
set_tris_b(0x00);
lcd_init();
lcd_gotoxy(1,1);
printf(lcd_putc,"\f murat ozan");
}
lcd uygulaması.h dosyasının içeriği nedir?
pic 16f877 seçtim proje olarak ek olarak lcd driverı içeriyor
Bir yerde
#if......
direktifini kullanmışsın...
bunu da
#endif
ile kapatman gerekir
iyide hiçbiyerde kullanmadım 1 saattir arıyorum yok sona endif yazdım yine olmadı delircem
Alıntı yapılan: JKramer - 08 Ağustos 2011, 13:32:50
lcd uygulaması.h dosyasının içeriği nedir?
Dosyayı bulup içindekileri buraya kopyalayın, başka türlü yardım etmek mümkün değil.
#include <16F877A.h>
#device adc=16
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT //No Power Up Timer
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOPROTECT //Code not protected from reading
#use delay(clock=20000000)
Verdiğiniz "lcd uygulaması.h" dosyasıyla birlikte hatasız derledi. Diğer dosyaları (16F877A.h ve lcd.c) derleyicinin klasöründen kopyaladım. Siz proje oluştururken bir hata yapıyor olabilirsiniz, emin değilim.
proje oluştururken pic i seçiorum lcd driverını aktif hale getirip o basit kodu yazıorum bu kadar yanlış olmadığına eminim ama önceleri kütüphaneyle ilgili bi ton hata veriodu değiştim bi çok versiyon denedim olmadı şu an o sorun gitti bu endif geldi sinir oldum :) szin derleyicinin versiyonu nedir ?labtobumda bi sorun mu var acep ama sadece lcd kullanmak isteyince derleyici hata veriyo
v4.108. CCS ide'sini kullanmadığım için bir şey diyemeyeceğim.
ya ben bu sorunu nasıl çözücem peki lcd diyince derleyiciye engel çıkarıo :)
klasör içinde ki tüm dosyaları sıkıştırıp gönder bakalım istersen
http://hotfile.com/dl/126216773/5fa7f02/Desktop.rar.html (http://hotfile.com/dl/126216773/5fa7f02/Desktop.rar.html) işte burda bi bak bakalım ama lcd.h ı değişmeyi unutma
sornu çözdüm ancak şimdi de korktuğum oldu sorun şu ki lcd.c kütüphanesinde #end if olarak yazılmış #endif olarak düzelttim oldu ama bu sefer de bu yazdığım kodu derleyince kütüphanede iki yerde hata verio expect ; die oysa orada bi hata yok
evet tırmalamadan olmaz bu işler, devam...
Arkadaşlar genelde C derleyicilerinin verdiği hatalar çok da yardımcı olmaz insana. Mesala bir yerde noktalı virgül koymamışsınızdır, onu söylemek yerine bir sürü abuk sabuk hata verebilir. Hataları ararken bunları göz önünde bulundurun.
haklısınız keşke hata onlarda olsa lcd.c kütüphanem hata verio :D
lcd.c dosyasında hata olmasının nedeni büyük ihtimalle .h dosyasında tanıtılan bir değişken, bir etiket vs. nin ldc.h dosyasında ki sorunu çözerken hatalı çözmeniz sonucunda tanım dışı kalmış olmasıdır.
Hatalı görünen satırlarda kullanılan değişken vs. nin h. dosyasında nerelerde geçtiğine bakabilirsiniz. Buna göre de h. dosyasında ki sorunu çözerken #endif ekleyerek çözdü iseniz bu eklediğiniz etikete daha uygun bir yer bakabilirsiniz.
Alıntı yapılan: eemuratozan - 08 Ağustos 2011, 13:36:13
pic 16f877 seçtim proje olarak ek olarak lcd driverı içeriyor
Hata muhtemelen lcd.c dosyasının mukerrer olarak tanımlanması.
#include <lcd uygulaması.h> içeriğinde yukarıdaki beyana göre lcd driver tanımlanmış.
#include <lcd.c> bu satırda da tanımlı.
Birini silersen düzelir. Ama hatayı düzeltecem derken lcd.c dosyasını bozduysan , programı tekrar yükle vs.. çözümlere başvur.