Picproje Elektronik Sitesi

DERLEYİCİLER => PIC C => Konuyu başlatan: eemuratozan - 08 Ağustos 2011, 13:18:39

Başlık: Missing #endif hatası nasıl çözebilirim
Gönderen: eemuratozan - 08 Ağustos 2011, 13:18:39
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");
}
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: JKramer - 08 Ağustos 2011, 13:32:50
lcd uygulaması.h dosyasının içeriği nedir?
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: eemuratozan - 08 Ağustos 2011, 13:36:13
pic 16f877 seçtim proje olarak ek olarak lcd driverı içeriyor
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: bymrz - 08 Ağustos 2011, 13:36:29
Bir yerde 

#if......


direktifini kullanmışsın...


bunu da

#endif
ile kapatman gerekir
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: eemuratozan - 08 Ağustos 2011, 13:37:43
iyide hiçbiyerde kullanmadım 1 saattir arıyorum yok  sona endif yazdım yine olmadı delircem
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: JKramer - 08 Ağustos 2011, 14:04:28
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.
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: eemuratozan - 08 Ağustos 2011, 14:08:09
#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)

Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: JKramer - 08 Ağustos 2011, 14:20:22
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.
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: eemuratozan - 08 Ağustos 2011, 14:24:25
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
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: JKramer - 08 Ağustos 2011, 14:47:01
v4.108. CCS ide'sini kullanmadığım için bir şey diyemeyeceğim.
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: eemuratozan - 08 Ağustos 2011, 14:49:02
ya ben bu sorunu nasıl çözücem peki lcd diyince derleyiciye engel çıkarıo :)
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: esensoy - 08 Ağustos 2011, 14:59:35
klasör içinde ki tüm dosyaları sıkıştırıp gönder bakalım istersen
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: eemuratozan - 08 Ağustos 2011, 15:03:18
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
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: eemuratozan - 08 Ağustos 2011, 15:22:26
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
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: esensoy - 08 Ağustos 2011, 15:26:04
evet tırmalamadan olmaz bu işler, devam...
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: CoşkuN - 08 Ağustos 2011, 15:32:11
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.
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: eemuratozan - 08 Ağustos 2011, 15:41:49
haklısınız keşke hata onlarda olsa lcd.c kütüphanem hata verio :D
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: iyildirim - 08 Ağustos 2011, 15:50:03
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.
Başlık: Ynt: Missing #endif hatası nasıl çözebilirim
Gönderen: GreeN - 08 Ağustos 2011, 16:59:32
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.