Mplab X IDE ve XC8 compiler ile derleme yapamıyorum

Başlatan yldzelektronik, 13 Temmuz 2013, 13:24:00

yldzelektronik

Selamlar;

Mplab X yükledim.Derleyici olarak xc8 kullanıyorum.Soldaki proje ağacına xc8in kendi klasörlerinde yer alan (include klsöründen söz ediyorum) i2c.h dosyasını header files kısmına ekliyorum ancak o dosyadaki i2c fonksiyonlarını kullanamıyorum.Include ediyorum bu kez de hata veriyor.Anlamadım gerçekten.Birisi başka kaynak kodlarını projeme nasıl dahil edebilirim, oradaki fonksiyonları nasıl kullanabilirim anlatsın lütfen.

Örneğin kendi yazdığım fonksiyonların olduğu bisey.c dosyam var.O da bisey.h hi include ediyor. Ve bisey.c içindeki fonk() fonksiyonunu main programımda çağırmak istiyorum.Bunun için ne yapmam gerekli?

Proje ağacına eklemem gerekiyor mu yoksa #include desem yeterli mi?

Bir de başka klasörlerde yer alan kaynak kodlarını nasıl include edebilirim?
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

Mr.Java

Kütüphanenizdeki .c ve .h dosyalarını XC8 kurulu olduğu dizindeki "include" klasörüne kopyalayın ve program başlangıcında ;
#include <Mylibrary.h>
diyerek ekleyin.Diğer alternatif ve kesin hatasız olan ise kütüphanenizi projenizin olduğu ana dizine kopyalayın soldan header fileden seçin ve program içerisinde 
#include "Mylibrary.h"
deyiniz.

İyi forumlar.

yldzelektronik

Olmuyor.Biri yardım edebilir mi?Biraz detaylı bir yardım?
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

Mr.Java


StDarg

mrb arkadaşlar
mplab x ıde ile 16f877a kod yazmaya başladım ama hata verdi hata şu şekilde;

newmain.c:15: error: undefined identifier "TRISB"
newmain.c:16: error: undefined identifier "PORTB"

kod
#include <stdio.h>
#include <stdlib.h>


main(void)
{
    
    TRISB=0;
    PORTB=0;

    for(;;)
    {
       
        PORTB=i;
    }
    
}


bu hatayı neden veriyor?

AsHeS

Alıntı yapılan: StDarg - 29 Eylül 2013, 23:58:00
merhaba arkadaşlar
mplab x ıde ile 16f877a kod yazmaya başladım ama hata verdi hata şu şekilde;
newmain.c:15: error: undefined identifier "TRISB"
newmain.c:16: error: undefined identifier "PORTB"
bu hatayı neden veriyor?
#include <xc.h>


main(void)
{
    unsigned char i=0xFF;
    TRISB=0;
    PORTB=0;

    for(;;)
    {
       
        PORTB=i;
    }
    
}

olarak değiştirin.
Eğer proje seçimi yaparken PIC i ve compiler ı doğru seçmişseniz derlenecektir.

StDarg

söylediğiniz şekilde oldu. :)peki bu  #include <xc.h> nasıl olduda sorunu çözdü içeriğine baktığımda PORTB ileTRISB ile alakalı biirşey göremedim.

AsHeS

PORTB ve TRISB  C dilinin standart kütüphanelerine dahil olmayan denetleyiciye özel yazmaçlardır. Bu yazmaçların adreslerini kullanabilmeniz için derleyiciye hangi PIC kullandığınızı söylemeniz gerekmekte. xc.h header dosyası ise IDE de seçilmiş olan denetleyiciyi derleyiciye bildirerek gerekli header ı dahil etmesini sağlar.

StDarg