Şimdi Ara

C kodunu bir türlü HEX e çeviremiyor hata üstüne hata alıyorum

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
11
Cevap
1
Favori
1.754
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Herkese iyi akşamlar arkadaşlar tubitak ın LCD GÖSTERGELİ TERMOMETRE projesini yapıyorum fakat 3 farklı program denememe ragmen PICC-MİKROC-Hİ-TECH hiçbirinde Tubitakın kodunu HEX e çeviremedim koda sadece ilave 2 Led ekledim.LED leri yanlış mı eklemişim.?Düzenlediğim kodu HEX çevirirken PICC VE MIKROC de kütüphane hataları alıyorum.Hi-TECH de alıyodum fakat onu çözdüm başka hatalar çıktı.Nerde hata yapıyorum.Kodu Hex e çevirebilecek var mı çok makbule geçer.Kullandığım PIC 16F877

    KOD:
    #include <pic.h>
    #include <delay.c>
    #include <lcd.c>
    #include <stdio.h>
    #define led_mavi pin_c0 // RC0 pini led_mavi ifadesine eşitleniyor
    #define led_kirmizi pin_c1 // RC1 pini led_kırmızı ifadesine eşitleniyor
    int main (void)
    {
    // Değişken tanımlamaları
    const float lsb=5.0/1024.0;
    unsigned char gerilim, ust, alt;
    float sicaklik;
    unsigned char sonuc[]="SICAKLIK = ";

    // Port konfigürasyonu
    TRISB=0; // PORTB çıkış
    TRISA=1; // RA0 analog giriş

    // Ön LCD işlemleri
    DelayMs(350); // 350ms bekle
    lcd_init(); // LCD’yi hazırla
    lcd_clear(); // LCD'yi temizle

    // ADC ayarları
    ADCON1=0x8E; // AN0 analog giriş
    ADCON0=0x41; // A/D aktif

    for(;;){

    // A/D çevrimi başlat
    ADCON0=0x45;
    // Dönüşümün bitmesini bekle
    while((ADCON0&4)!=0);

    // Dönüşüm sonucunu kaydet
    gerilim=ADRESH;
    gerilim=256*gerilim+ADRESL;

    // Sıcaklık bilgisini oluştur
    sicaklik=gerilim*lsb*100.0;

    // Tam ve ondalık kısımları ayır
    ust=(int)sicaklik;
    alt=(int)(10.0*(sicaklik-ust));

    // LCD’ye yazdırma işlemlerini yap
    sprintf(sonuc+11,"%d.%dC ",ust,alt);

    // 1. satıra geç ve LCD’ye yaz
    lcd_goto(0x00);
    lcd_puts("Hasan CIMEN");

    // 2. satıra geç ve sıcaklık değerini yaz
    lcd_goto(0x40);
    lcd_puts(sonuc);

    // Biraz bekle ve ekranı temizle
    DelayMs(250);
    lcd_clear();
    if(sicaklik<15)
    {
    output_high(pin_c0); // pin_c0(MAVİ Led) lojik-1 yapılıyor.
    output_low(pin_c1); //pin_c1(KIRMIZI Led) lojik-0 yapılıyor.
    }else if(sicaklik>22)
    {
    output_low(pin_c0); // pin_c0(MAVİ Led) lojik-0 yapılıyor.
    output_high(pin_c1); //pin_c1(KIRMIZI Led) lojik-1 yapılıyor.
    }
    } // Ölçümü tekrarla
    } // Programın sonu







  • Çünkü o kod PIC C ile yazılmış.Senin mantığı anlayıp kendin yazman gerekli
  • quote:

    Orijinalden alıntı: ayhan_eee

    Çünkü o kod PIC C ile yazılmış.Senin mantığı anlayıp kendin yazman gerekli

    hocam PIC C ile derleyebilirmiyim kütüphane hatası veriyor nasıl çözebilrim?Kodun mu mantığını anlıcam!!!Açıkcası yazmayı bilmiyorum :(
  • İnternette HiTech C ile yazılmış termometre projeleri bulabilirsin.Onları dene derim
  • quote:

    Orijinalden alıntı: ayhan_eee

    İnternette HiTech C ile yazılmış termometre projeleri bulabilirsin.Onları dene derim

    peki bu kodun neresinde hata tubitak kendimiz yapalım proje kapsamında yapılmış bir porje hazır HEX i var fakat ben Led ekledikten sonra derleyemedim hangi programla yazmışlar veya derlemişler nasıl anlayabilirim dönem projem tek eksiğim kodu derleyip çalıştığını test etmek kaldı
  • Hata diye bişey yok.Bütün kütüphaneleri ve tam olarak nedrede derlendiği varsa yine derlenir ama HiTech ile değil.Onların derlediği ile.Birde kütüphaneleri gerekli
  • quote:

    Orijinalden alıntı: ayhan_eee

    Hata diye bişey yok.Bütün kütüphaneleri ve tam olarak nedrede derlendiği varsa yine derlenir ama HiTech ile değil.Onların derlediği ile.Birde kütüphaneleri gerekli

    hocam ben Hi-tech ile derlemeyi denedim kütüphaneleride ekledim aşağıdaki gibi hata alıyorum..Resmi yeni sekmede açarsanız daha net görebilirsiniz
     C kodunu bir türlü HEX e çeviremiyor hata üstüne hata alıyorum



    < Bu mesaj bu kişi tarafından değiştirildi ukela -- 23 Aralık 2012; 14:58:14 >




  • redefined hatası var.Yani verilen fonksiyonlar birden fazla defa tanımlanmış dikkat et bir daha
  • lcd için kütüphane oluşturman gerekli.H-tech ile pic programlama.pdf dosyası var onun içinde gerekli kütüphane dosyaları vardı.
    birde bilgisayarında delay dosyalarını arattır.Bulunan dosyaları, kaydettiğin c dosyası ile aynı klasöre kopyala.
  • quote:

    Orijinalden alıntı: ayhan_eee

    redefined hatası var.Yani verilen fonksiyonlar birden fazla defa tanımlanmış dikkat et bir daha

    hocam kodu ben yazmadım tübitakın sitesinden aldım zaten pic yazmayı bilmiyorum.Rica etsem hatayı çözebilirmisiniz neredeyse bir haftadır HEX e çevirmeye çalışıyorum.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.