Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Microchip XC8 => Konuyu başlatan: Mr.Java - 14 Temmuz 2013, 17:52:25

Başlık: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 14 Temmuz 2013, 17:52:25
Arkadaşlar merhaba.ADC fonksyonunu XC8'de birtürlü çalıştıramadım.User manuel'de ADC fonksyonu çağırılıcak ve void OpenADC(config,config1 ve kanal) şeklinde 3 argüment girilecek yazıyor.Ben adc fonksyonumu include edip ana fonksyonda OpenADC dediğimde bir türlü çağıramadım.Nerede hata yapıyorum acaba  ?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 14 Temmuz 2013, 18:47:20
Bu proje için proje ağacının resmini ve programından ilgili kısmı ekler misin?Kullandığın lib kendi llibb in mi yoksa xc8 klasöründeki include da yer alan libler mi?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: AsHeS - 14 Temmuz 2013, 19:58:56
16F serisi mi 18F serisi mi o kütüphane 18F serisi için.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 14 Temmuz 2013, 20:53:07
Elbette ki PIC18 serisi ile kullanmaya çalışıyorum.Nedense örneğin ConvertADC fonksyonu gelirken OpenADC fonksyonu gelmiyor.Garip bir durum doğrusu..
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 14 Temmuz 2013, 21:22:57
Alıntı yapılan: AsHeS35 - 14 Temmuz 2013, 19:58:56
16F serisi mi 18F serisi mi o kütüphane 18F serisi için.

Acaba xc8in kütüphane dosyaları sadece 18f serisi için  mi?16f serisi kullanamaz mıyım?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: AsHeS - 14 Temmuz 2013, 21:52:00
Alıntı yapılan: yldzelektronik - 14 Temmuz 2013, 21:22:57
Acaba xc8in kütüphane dosyaları sadece 18f serisi için  mi?16f serisi kullanamaz mıyım?
Kütüphanelerin yazıldığı yere bakarsanız(source klasöründe) PIC18 başlığı altındadır yani buradan çıkarımla ADC kütüphanesi 16F serisine kullanılamıyor en azından ben bulamadım bir yolunu.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 14 Temmuz 2013, 22:04:21
Alıntı yapılan: AsHeS35 - 14 Temmuz 2013, 21:52:00
Kütüphanelerin yazıldığı yere bakarsanız(source klasöründe) PIC18 başlığı altındadır yani buradan çıkarımla ADC kütüphanesi 16F serisine kullanılamıyor en azından ben bulamadım bir yolunu.

Peki;

C:\Program Files (x86)\Microchip\xc8\v1.20\include\plib

Dosya yolundaki kütüphane dosyaları için ne söyleyebilirsiniz?Bunları 16f için kullanabilir miyiz?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: kantirici - 14 Temmuz 2013, 22:17:57
18f ile 16f serisinde bazı registerler benzerlik göstersede farklılıkkar var. Her kütüphane için 16f serisine uygun şekilde düzeltmek gerekir ki buda başktan yazmaktan daha zor olur. Ama şu yol izlenebilir. 18f kütüphane yapısı incelenerek benzer şekilde 16f serisi içinde kütüphaneler yazılabilir.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: AsHeS - 14 Temmuz 2013, 22:26:21
Alıntı yapılan: yldzelektronik - 14 Temmuz 2013, 22:04:21
Peki;

C:\Program Files (x86)\Microchip\xc8\v1.20\include\plib

Dosya yolundaki kütüphane dosyaları için ne söyleyebilirsiniz?Bunları 16f için kullanabilir miyiz?
* FileName:              adc.h
* Dependencies:           See include below
* Processor:             PIC18
* Compiler:              MCC18
* Company:               Microchip Technology, Inc.
Kod açıklamasına baktığımızda sorunun cevabı hayır.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 14 Temmuz 2013, 22:53:59
MPLAB X ve XC8 derleyicileri olanlar adc.h dosyasını ekleyerek main altında OpenADC fonksyonunu çağırabilirler mi ? Sorun XC8 demi MPLAB X'demi bilelim.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: AsHeS - 14 Temmuz 2013, 22:57:16
Alıntı yapılan: Fkarizmatik - 14 Temmuz 2013, 22:53:59
MPLAB X ve XC8 derleyicileri olanlar adc.h dosyasını ekleyerek main altında OpenADC fonksyonunu çağırabilirler mi ? Sorun XC8 demi MPLAB X'demi bilelim.
18 F için bu şekilde kullanım yaygın zaten, size verdiği hata nedir acaba ?
Edit:Kütüphane için belirlenen klasörleri proje ağacına yüklediniz mi ?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 14 Temmuz 2013, 23:07:39
Projeme şu şekilde ekliyorum.
#include <plib/adc.h>
diğer usart olsun,pwm olsun sıkıntı yaratmadı.ADC 'de yarattı sadece.Bu arada OpenADC fonksyonunda sanırım yorum satırı yapmışlar OpenADC'yi.Sizlerde de o şekilde mi ?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: AsHeS - 14 Temmuz 2013, 23:32:42
Alıntı yapılan: Fkarizmatik - 14 Temmuz 2013, 23:07:39
Projeme şu şekilde ekliyorum.
#include <plib/adc.h>
diğer usart olsun,pwm olsun sıkıntı yaratmadı.ADC 'de yarattı sadece.Bu arada OpenADC fonksyonunda sanırım yorum satırı yapmışlar OpenADC'yi.Sizlerde de o şekilde mi ?
Yorum satırı değilde projede pic i seçerken pconfig.h içerisinde define yapılıyor.Eğer denetleyiciniz tanınıyorsa mutlaka bir adet define ADC_Vx   x:burada bir numara,
tanımlanmış olmalı.
#include <plib/pconfig.h>
ekleyip deneyebilir misiniz ?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: justice_for_all - 15 Temmuz 2013, 00:25:58
Alıntı yapılan: Fkarizmatik - 14 Temmuz 2013, 20:53:07
Elbette ki PIC18 serisi ile kullanmaya çalışıyorum.Nedense örneğin ConvertADC fonksyonu gelirken OpenADC fonksyonu gelmiyor.Garip bir durum doğrusu..
Bende de ayni sorun var.bu sadec xc8 icin degil normal C18 derleyicileri icinde boyle.kullanacaginiz source dosyasini projenize eklediginizde cagirir eklemezseniz yine cagirir ama siz bunu goremezsiniz disassebly dosyasinda gorebilirsiniz debug yaparken.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 15 Temmuz 2013, 08:59:17
Acaba bu tip kütüphaneleri 16f serisi için kullanamıyorsak ki kullanamıyoruz 16f serisi için durum ne olacak?Kendi kütüphanemizi  mi yazmamız gerekiyor?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 15 Temmuz 2013, 09:04:00
Alıntı yapılan: AsHeS35 - 14 Temmuz 2013, 23:32:42
Yorum satırı değilde projede pic i seçerken pconfig.h içerisinde define yapılıyor.Eğer denetleyiciniz tanınıyorsa mutlaka bir adet define ADC_Vx   x:burada bir numara,
tanımlanmış olmalı.
#include <plib/pconfig.h>
ekleyip deneyebilir misiniz ?
Yok yine olmadı.#include <plib/adc.h> dedim olmadı.adc ve pconfig.h kütüphanelerini projeme ekleyip header fileden #include "adc.h" ve "pconfig.h" dedim yine görmedi.Daha sonra #include <plib/adc.h> açıp , #include <plib/pconfig.h> şeklinde değiştirdim pconfig.h'ı yine görmedi.Sorun farklı birşey.2222 satır kod düzeltmeye de gelmiyor.

mesaj birleştirme:: 15 Temmuz 2013, 09:06:26

Alıntı yapılan: yldzelektronik - 15 Temmuz 2013, 08:59:17
Acaba bu tip kütüphaneleri 16f serisi için kullanamıyorsak ki kullanamıyoruz 16f serisi için durum ne olacak?Kendi kütüphanemizi  mi yazmamız gerekiyor?

Sanırım evet.Kendi kütüphanemi de yazacaksam zaten XC8'e gerek kalmıyor.Hi-tech çok daha iyi.Çok daha güçlü.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 15 Temmuz 2013, 09:12:00
Alıntı yapılan: Fkarizmatik - 15 Temmuz 2013, 09:04:00
Sanırım evet.Kendi kütüphanemi de yazacaksam zaten XC8'e gerek kalmıyor.Hi-tech çok daha iyi.Çok daha güçlü.

Bunu biraz açıklar mısın?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 15 Temmuz 2013, 09:40:11
Hocam kod optimasyonu iyi.Derleyici tam sürüm yapmak çok kolay.ANSI C standartlarında.Bana göre XC serisi ile tek dezavantajı kütüphane ve güncelleme desteğinin olmayışı.Oda çok sorun değil kanımca.Kullandığımız işlemciler az çok belli zaten.Ben tekrardan hi-tech döneceğim sanırım.XC8 tam oturana kadar.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Tagli - 15 Temmuz 2013, 11:16:04
Donanım kütüphanesini gözde büyütmeye gerek yok. Herbiri yaklaşık 10 satırdan oluşan birkaç fonksiyondan ibaret. Datasheet'e bakılarak kısa süre içinde istenilen özellik dahil edilebilir. Hatta yükleme klasöründe yer alan mevcut c dosyalarından bile faydalanmak mümkün.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 15 Temmuz 2013, 11:25:51
Donanım kütüphanemi ihtiyacım olduğu kadar oluşturdum ancak bir türlü şuna include edemedim.Çalışma ekranım aşağıdaki şekilde.Sorun nedir?Nerede hata yapıorum?

Bu proje özellikleri;

[IMG]http://imageshack.us/a/img7/900/9v99.jpg[/img]



Bu da çalışma ekranımdan.Proje ağacı da solda.Yanlış mı yapıyorum?

[IMG]http://imageshack.us/a/img7/3035/twcq.jpg[/img]


Ekleme:

#include <D:/My_Library/For_Pic/i2c/i2c.h> satırını;
#include <D:/My_Library/For_Pic/i2c/i2c.c> ile değiştirirsem

CLEAN SUCCESSFUL (total time: 201ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make  -f nbproject/Makefile-default.mk dist/default/production/Hyt_271.X.production.hex
make[2]: Entering directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe" --pass1  --chip=16F1825 -Q -G  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 -I"D:/My Library/For_Pic" -I"D:/My Library/For_Pic/i2c" --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"  -obuild/default/production/main.p1  main.c
(908) exit status = 1
make[2]: *** [build/default/production/main.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
main.c:11: error: can't open include file "D:/My_Library/For_Pic/i2c/i2c.c": Invalid argument
make[2]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make[1]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'

BUILD FAILED (exit value 2, total time: 920ms)

Hatasını alıyorum.


O satırı açıklama satırı yaparsam yada silersem *ki aynı şey* ;

CLEAN SUCCESSFUL (total time: 102ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make  -f nbproject/Makefile-default.mk dist/default/production/Hyt_271.X.production.hex
make[2]: Entering directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe" --pass1  --chip=16F1825 -Q -G  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 -I"D:/My Library/For_Pic" -I"D:/My Library/For_Pic/i2c" --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"  -obuild/default/production/main.p1  main.c
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe" --pass1  --chip=16F1825 -Q -G  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 -I"D:/My Library/For_Pic" -I"D:/My Library/For_Pic/i2c" --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"  -obuild/default/production/_ext/772095139/i2c.p1  D:/My_Library/For_Pic/i2c/i2c.c
(908) exit status = 1
make[2]: *** [build/default/production/_ext/772095139/i2c.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
D:/My_Library/For_Pic/i2c/i2c.c:1: error: can't open include file "i2c.h": No such file or directory
make[2]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make[1]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'

BUILD FAILED (exit value 2, total time: 3s)



Hatasını alıyorum.Anlayamadım.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 15 Temmuz 2013, 11:54:05
@yldzelektronik

kütüphaneleri proje ana dizinine atın.header fileden gösterin.#include "i2c.h" diye belirtin.include direction'u sıfırlayıp boş bırakın.
olmazsa mplab x'de include direction bu defa XC8 plib klasörünü göstersin.MPLABX'de ise plib.h dosyasını ekleyin tüm kütüphanelerin gelmesi lazım.Bu şekilde deneyin.
Yine olmazsa uğraşmayın silin gitsin xc8'i :)
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 15 Temmuz 2013, 12:32:15
Çıldırmamak elde değil.Yapan el oğlu nasıl yapıyor anlamıorum.Nerde hata yapıyorum bilmiyorum ki.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Erol YILMAZ - 15 Temmuz 2013, 12:47:53
Alıntı yapılan: yldzelektronik - 15 Temmuz 2013, 12:32:15
Çıldırmamak elde değil.Yapan el oğlu nasıl yapıyor anlamıorum.Nerde hata yapıyorum bilmiyorum ki.

Hakketen ilginç problemler,
MPLAB X yerine v 8 i deneseniz ? 
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 15 Temmuz 2013, 13:23:53
Alıntı yapılan: Allegro - 15 Temmuz 2013, 12:47:53
Hakketen ilginç problemler,
MPLAB X yerine v 8 i deneseniz ? 

Bu kez de

Build C:\Users\Atlantis Otomation\MPLABXProjects\Hyt\Hyt271 for device 16F1825
Using driver C:\Program Files (x86)\HI-TECH Software\PICC\9.71a\bin\picc.exe

Make: The target "C:\Users\Atlantis Otomation\MPLABXProjects\Hyt\i2c.p1" is out of date.
Executing: "C:\Program Files (x86)\HI-TECH Software\PICC\9.71a\bin\picc.exe" --pass1 "C:\Users\Atlantis Otomation\MPLABXProjects\Hyt_271.X\i2c.c" -q --chip=16F1825 -P --runtime=default --opt=default -N-1 -D__DEBUG=1 -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Error   [141] C:\Users\Atlantis Otomation\MPLABXProjects\Hyt_271.X\i2c.c; 1.16 can't open include file "I2C.h": No such file or directory
Make: The target "C:\Users\Atlantis Otomation\MPLABXProjects\Hyt\main.p1" is out of date.
Executing: "C:\Program Files (x86)\HI-TECH Software\PICC\9.71a\bin\picc.exe" --pass1 "C:\Users\Atlantis Otomation\MPLABXProjects\Hyt_271.X\main.c" -q --chip=16F1825 -P --runtime=default --opt=default -N-1 -D__DEBUG=1 -g --asmlist "--errformat=Error   [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Error   [141] C:\Users\Atlantis Otomation\MPLABXProjects\Hyt_271.X\main.c; 8.15 can't open include file "xc.h": No such file or directory

********** Build failed! **********


Hatasını alıyorum.


mesaj birleştirme:: 15 Temmuz 2013, 13:52:06

Bu sorunu çözdüm.Sorun i2c.c dosyasında #include <i2c.h> şeklinde include ettiğim dosyayı "" şeklinde etmeme izin veriyormuş yanlızca.Ancak şimdi de tanımlanan registerleri undefined diye gösteriyor.Şöyleki;

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make  -f nbproject/Makefile-default.mk dist/default/production/Hyt_271.X.production.hex
make[2]: Entering directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe" --pass1  --chip=16F1825 -Q -G  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 --strict --warn=0 --cci --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"  -obuild/default/production/i2c.p1  i2c.c
:: warning: "--strict" option may cause compiler errors in some standard header files
:: warning: 24-bit floating point types are not supported; float have been changed to 32-bits
:: warning: 24-bit floating point types are not supported; double have been changed to 32-bits
(908) exit status = 1
make[2]: *** [build/default/production/i2c.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
i2c.c:12: error: undefined identifier "SSPCON2bits_t"
i2c.c:12: error: struct/union required
i2c.c:23: error: undefined identifier "SSPCON2bits"
i2c.c:23: error: struct/union required
i2c.c:34: error: undefined identifier "SSPCON2bits"
i2c.c:34: error: struct/union required
i2c.c:45: error: undefined identifier "SSPCON2bits"
i2c.c:45: error: struct/union required
i2c.c:46: error: struct/union required
i2c.c:58: error: undefined identifier "SSPCON2bits"
i2c.c:58: error: struct/union required
i2c.c:59: error: struct/union required
i2c.c:83: error: undefined identifier "SSPCON2"
i2c.c:83: error: undefined identifier "SSPSTATbits"
i2c.c:83: error: struct/union required
i2c.c:97: error: undefined identifier "SSPSTAT"
i2c.c:98: error: undefined identifier "SSPCON1"
i2c.c:99: error: undefined identifier "SSPCON2"
i2c.c:103: error: undefined identifier "TRISCbits"
i2c.c:103: error: struct/union required
i2c.c:104: error: struct/union required
i2c.c:104: advisory: too many errors (21)
make[2]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make[1]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'

BUILD FAILED (exit value 2, total time: 1s)


Bu neden oluyor?İşlemcinin dosyasını da include ettim halbuki.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 15 Temmuz 2013, 14:24:29
1) Belki olabilir diyerekten yazıyorum.Klasör isimi farklı isimlendirme sembol tarzı birşey var mı ?
2) Kütüphane yerine direk pic18.h include edin,sigorta ayarlarınızı yapın ve aşağıdaki kodu XC8'e göre derleyin hocam.Projeniz acilse uğraşamayın i2c kütüphanesiyle.
/*
Function: I2CInit
Return:
Arguments:
Description: Initialize I2C in master mode, Sets the required baudrate
*/
void I2CInit(void){
        TRISC3 = 1;      /* SDA and SCL as input pin */
        TRISC4 = 1;      /* these pins can be configured either i/p or o/p */
        SSPSTAT |= 0x80; /* Slew rate disabled */
        SSPCON = 0x28;   /* SSPEN = 1, I2C Master mode, clock = FOSC/(4 * (SSPADD + 1)) */
        SSPADD = 0x28    /* 100Khz @ 4Mhz Fosc */
}

/*
Function: I2CStart
Return:
Arguments:
Description: Send a start condition on I2C Bus
*/
void I2CStart(){
        SEN = 1;         /* Start condition enabled */
        while(SEN);      /* automatically cleared by hardware */
                     /* wait for start condition to finish */
}

/*
Function: I2CStop
Return:
Arguments:
Description: Send a stop condition on I2C Bus
*/
void I2CStop(){
        PEN = 1;         /* Stop condition enabled */
        while(PEN);      /* Wait for stop condition to finish */
                     /* PEN automatically cleared by hardware */
}

/*
Function: I2CRestart
Return:
Arguments:
Description: Sends a repeated start condition on I2C Bus
*/
void I2CRestart(){
        RSEN = 1;        /* Repeated start enabled */
        while(RSEN);     /* wait for condition to finish */
}

/*
Function: I2CAck
Return:
Arguments:
Description: Generates acknowledge for a transfer
*/
void I2CAck(){
        ACKDT = 0;       /* Acknowledge data bit, 0 = ACK */
        ACKEN = 1;       /* Ack data enabled */
        while(ACKEN);    /* wait for ack data to send on bus */
}

/*
Function: I2CNck
Return:
Arguments:
Description: Generates Not-acknowledge for a transfer
*/
void I2CNak(){
        ACKDT = 1;       /* Acknowledge data bit, 1 = NAK */
        ACKEN = 1;       /* Ack data enabled */
        while(ACKEN);    /* wait for ack data to send on bus */
}

/*
Function: I2CWait
Return:
Arguments:
Description: wait for transfer to finish
*/
void I2CWait(){
        while ( ( SSPCON2 & 0x1F ) || ( SSPSTAT & 0x04 ) );
    /* wait for any pending transfer */
}

/*
Function: I2CSend
Return:
Arguments: dat - 8-bit data to be sent on bus
           data can be either address/data byte
Description: Send 8-bit data on I2C bus
*/
void I2CSend(unsigned char dat){
        SSPBUF = dat;    /* Move data to SSPBUF */
        while(BF);       /* wait till complete data is sent from buffer */
        I2CWait();       /* wait for any pending transfer */
}

/*
Function: I2CRead
Return:    8-bit data read from I2C bus
Arguments:
Description: read 8-bit data from I2C bus
*/
unsigned char I2CRead(void){
        unsigned char temp;
/* Reception works if transfer is initiated in read mode */
        RCEN = 1;        /* Enable data reception */
        while(!BF);      /* wait for buffer full */
        temp = SSPBUF;   /* Read serial buffer and store in temp register */
        I2CWait();       /* wait to check any pending transfer */
        return temp;     /* Return the read data from bus */
}
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 15 Temmuz 2013, 22:44:39
Şimdiye kadar karşılaştığım bütün sorunları çözdüm.I2c için kütüphanedeki dosyalara bakarak kendi i2c libimi oluşturdum.Ancak iş usart geldi ve ben tıkandım.Bir de bunun delayı var ve ben hiç bişey düşünemiyorum o konuda. Xc8 de 16f serisi için usart kütüphaneniz mevcut mudur?

mesaj birleştirme:: 15 Temmuz 2013, 22:49:31

Usart için printf benzeri bir formatı nasıl elde edebilirim?Yani printf ile string ve diğer tipte verileri gönderebiliyoruz.Ancak xc8 de durum biraz farklı sanırım.Ne yapılabilir?Öneriniz var mı?Sizler ne kullanıyorsunuz?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 15 Temmuz 2013, 23:00:25
Hocam zaten çözdüyseniz sorun yoktur.Ben Hi-tech C usart fonksyonunu gönderiyorum editlersiniz tekrardan.Ayrıca printf komutu aynen windows'taki gibi stdio.h dosyasında mevcut fakat çok fazla yer kapladığı için tavsiye edilmiyor.
http://www.dosya.tc/server13/OZBLhA/usart.rar.html (http://www.dosya.tc/server13/OZBLhA/usart.rar.html)
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: AsHeS - 15 Temmuz 2013, 23:15:15
Alıntı yapılan: yldzelektronik - 15 Temmuz 2013, 22:44:39
Şimdiye kadar karşılaştığım bütün sorunları çözdüm.I2c için kütüphanedeki dosyalara bakarak kendi i2c libimi oluşturdum.Ancak iş usart geldi ve ben tıkandım.Bir de bunun delayı var ve ben hiç bişey düşünemiyorum o konuda. Xc8 de 16f serisi için usart kütüphaneniz mevcut mudur?

mesaj birleştirme:: 15 Temmuz 2013, 22:49:31

Usart için printf benzeri bir formatı nasıl elde edebilirim?Yani printf ile string ve diğer tipte verileri gönderebiliyoruz.Ancak xc8 de durum biraz farklı sanırım.Ne yapılabilir?Öneriniz var mı?Sizler ne kullanıyorsunuz?
Öncelikle donanımsal UART ise problem 16f887 için usart kodlarıvoid UARTSetup(void) {
    SYNC = 0;
    BAUDCTLbits.BRG16 = 0;
    BAUDCTLbits.SCKP = 0;
    TXSTAbits.BRGH = 1;
    TXSTAbits.TX9 = 0;
    RCSTAbits.RX9 = 0;
    RCSTAbits.CREN = 1;
    RCSTAbits.SPEN = 1;
    SPBRGH = 0x00;
    SPBRG = 129; //20 MHz 9600 baud
    TXEN = 1;
    PIE1bits.RCIE = 1;
    RCIF = 0;
    TXIF = 0;
    INTCONbits.PEIE = 1;
    INTCONbits.GIE = 1;
}

Bu kodların tüm açıklaması datasheette mevcut.UART kanala printf kullanmak için putch() fonk. tanımlayın o da şöyle olmalı
void putch(char x) {
    while (!TRMT);
    TXREG = x;
}
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 16 Temmuz 2013, 09:09:13
delay kütüphanesini nasıl kullanıyorsunuz?Bunun hesabı nasıl yapılır?delays.h dosyası var kütüphanede ama nasıl kullansam onu bilemedim.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Tagli - 16 Temmuz 2013, 09:41:39
Burada (https://www.picproje.org/index.php/topic,47778.0.html) konuşulmuştu.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 16 Temmuz 2013, 10:11:47
Teşekkürler.Peki bu float tipi neden desteklenmiyor diyo acaba bende?Virgüllü sayılarla işlem yapmam gerekli ancak yapamıyorum.Ayrıca printf için ;

D:/My_Library/For_Pic/Twimaster.c:27: error: conflicting declarations for variable "_printf" (C:\Program Files (x86)\Microchip\xc8\v1.20\include\stdio.h:206)

Hatasını veriyor.Anlayamıyorum.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 16 Temmuz 2013, 10:16:29
Bence o hata yine kütüphanenin eklenememesi hatası olmasın ?  :D
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Erol YILMAZ - 16 Temmuz 2013, 11:05:36

typedef bit              BOOLEAN;
typedef unsigned char    INT8U;
typedef signed   char    INT8S;
typedef unsigned int     INT16U;
typedef signed   int     INT16S;

void AdcConfig(INT8U channel){
INT8U   adc_charge;

#if defined   _16F616
    ADCON0 = (channel << 2) + 0x81;      // enable ADC,
#endif

#if defined   _16F819
    ADCON0 = (channel << 3) + 0xC1;      // enable ADC,
#endif

#if defined   _16F883
    ADCON0 = (channel << 2) + 0xC1;      // enable ADC,
#endif

#if defined   _18F4321
    ADCON0 = (channel << 2) + 0x01;      // enable ADC,
#endif

#if defined   _18F2423
    ADCON0 = (channel << 2) + 0xC1;      // enable ADC, RC osc.
#endif

#if defined   _18F4423
    ADCON0 = (channel << 2) + 0xC1;      // enable ADC, RC osc.
#endif

#if defined   _18F24K22
    ADCON0 = (channel << 2) + 0x01;      // enable ADC
#endif

    for(adc_charge=0; adc_charge<100; adc_charge++);

return;
}


/*******************************************************************************
*******************************************************************************/
INT16U AdcReadLL(INT8U channel){

INT16U  adc_sonuc;

    AdcConfig(channel);
   
    GO_nDONE = 1;   
    while (GO_nDONE);
    adc_sonuc = ((ADRESH << 8) + ADRESL);

return(adc_sonuc);
}
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 16 Temmuz 2013, 11:23:12
typedef enum {
  I2C_ERROR_NONE,
  I2C_BUS_ERROR = 1,
} I2C_ERROR;


Şeklinde bir tanımlamam var.Source file içinde başlarda bir yerde.Aynı file içinde ;

I2C_ERROR hyt271_get_measurements(float* humidity, float* temperature)

şeklinde bir fonsiyon oluşturmaya çalışıyorum.Ancak;


CLEAN SUCCESSFUL (total time: 102ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make  -f nbproject/Makefile-default.mk dist/default/production/Hyt_271.X.production.hex
make[2]: Entering directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe" --pass1  --chip=16F1825 -Q -G  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 -I"D:/My_Library/For_Pic/include" -I"C:/Program Files (x86)/Microchip/xc8/v1.20/include" --warn=0 --cci --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"  -obuild/default/production/main.p1  main.c
:: warning: 24-bit floating point types are not supported; float have been changed to 32-bits
:: warning: 24-bit floating point types are not supported; double have been changed to 32-bits
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe" --pass1  --chip=16F1825 -Q -G  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 -I"D:/My_Library/For_Pic/include" -I"C:/Program Files (x86)/Microchip/xc8/v1.20/include" --warn=0 --cci --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"  -obuild/default/production/Twimaster.p1  Twimaster.c
:: warning: 24-bit floating point types are not supported; float have been changed to 32-bits
:: warning: 24-bit floating point types are not supported; double have been changed to 32-bits
Twimaster.c:30: warning: function declared implicit int
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe" --pass1  --chip=16F1825 -Q -G  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 -I"D:/My_Library/For_Pic/include" -I"C:/Program Files (x86)/Microchip/xc8/v1.20/include" --warn=0 --cci --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"  -obuild/default/production/dew_point.p1  dew_point.c
:: warning: 24-bit floating point types are not supported; float have been changed to 32-bits
:: warning: 24-bit floating point types are not supported; double have been changed to 32-bits
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe" --pass1  --chip=16F1825 -Q -G  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 -I"D:/My_Library/For_Pic/include" -I"C:/Program Files (x86)/Microchip/xc8/v1.20/include" --warn=0 --cci --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"  -obuild/default/production/i2c.p1  i2c.c
:: warning: 24-bit floating point types are not supported; float have been changed to 32-bits
:: warning: 24-bit floating point types are not supported; double have been changed to 32-bits
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe" --pass1  --chip=16F1825 -Q -G  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 -I"D:/My_Library/For_Pic/include" -I"C:/Program Files (x86)/Microchip/xc8/v1.20/include" --warn=0 --cci --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"  -obuild/default/production/usart.p1  usart.c
:: warning: 24-bit floating point types are not supported; float have been changed to 32-bits
:: warning: 24-bit floating point types are not supported; double have been changed to 32-bits
"C:\Program Files (x86)\Microchip\xc8\v1.20\bin\xc8.exe"  --chip=16F1825 -G -mdist/default/production/Hyt_271.X.production.map  --double=24 --float=24 --opt=default,+asm,-asmfile,+speed,-space,-debug --addrqual=ignore --mode=free -P -N255 -I"D:/My_Library/For_Pic/include" -I"C:/Program Files (x86)/Microchip/xc8/v1.20/include" --warn=0 --cci --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,+osccal,-resetbits,-download,-stackcall,+clib --output=-mcof,+elf "--errformat=%%f:%%l: error: %%s" "--warnformat=%%f:%%l: warning: %%s" "--msgformat=%%f:%%l: advisory: %%s"   -odist/default/production/Hyt_271.X.production.elf  build/default/production/main.p1 build/default/production/Twimaster.p1 build/default/production/dew_point.p1 build/default/production/i2c.p1 build/default/production/usart.p1     
Microchip MPLAB XC8 C Compiler V1.20
Copyright (C) 2013 Microchip Technology Inc.
License type: Node Configuration

:: warning: 24-bit floating point types are not supported; float have been changed to 32-bits
:: warning: 24-bit floating point types are not supported; double have been changed to 32-bits
Twimaster.c:13: error: function "_hyt271_get_measurements" redefined
(908) exit status = 1
make[2]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make[1]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make[2]: *** [dist/default/production/Hyt_271.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 5s)


Şeklinde bir mesajla karşılıyor beni.Nerede hata yapıyorum?Ayrıca virgüllü sayıyı nasıl tanımlayabilirim?Float için nıt suppert diyor?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Erol YILMAZ - 16 Temmuz 2013, 11:31:50
#include <xc.h> 
#include <stdio.h>

float fiss=4.32;

void main(void) {
   printf("Aaa %f", fiss);
}

void putch(char data){
   while (!TXIF)   continue;
   TXREG = data;   
   // bu kısmı incelemedim...
return;
}


Microchip MPLAB XC8 C Compiler V1.12
Copyright (C) 2012 Microchip Technology Inc.
License type: w

Memory Summary:
    Program space        used   A1Dh (  2589) of  2000h words   ( 31.6%)
    Data space           used    67h (   103) of   400h bytes   ( 10.1%)
    EEPROM space         used     0h (     0) of   100h bytes   (  0.0%)
    Configuration bits   used     0h (     0) of     2h words   (  0.0%)
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 16 Temmuz 2013, 11:57:02
Şuanda çakılıp kalmış durumdayım.Öyle bir hata verdi ki :( Ne satır ne sütun numarası veriyor;

:0: error: undefined symbols:
        _USART_Status(dist/default/production\Hyt_271.X.production.obj) ___delay_ms(dist/default/production\Hyt_271.X.production.obj)
(908) exit status = 1
make[2]: *** [dist/default/production/Hyt_271.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
make[2]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'
make[1]: Leaving directory `C:/Users/Atlantis Otomation/MPLABXProjects/Hyt_271.X'

BUILD FAILED (exit value 2, total time: 17s)


Bu ne olabilir?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Tagli - 16 Temmuz 2013, 12:14:21
yldzelektronik, diğer başlıkta da fikrimi yazdım, buradaki diğer arkadaşlar da yazmış, senin sorunun derleyicinin kütüphane fonksiyonlarını görmemesi. Aldığın tüm hatalar bundan kaynaklanıyor. Maalesef bunun sebebi ve çözümüyle ilgili bir fikrim yok. Belki derleyiciyi ve MPLAB'ı silip tekrar kurmayı deneyebilirsin. Kurulum yerlerinin adreslerinde Türkçe karakter varsa sorun çıkarıyor olabilir.

atoi() falan gibi birkaç dahili fonksiyon var, bunları da bir dener misin çalışıyorlar mı diye?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 16 Temmuz 2013, 12:37:19
Sorunların tamamını hallettim.Yalnız proteusta simülasyon yapabilmek için cof dosyasına ihtiyacım var.Bu dosyayı bulamıyorum.Üretmiyor sanırım?Nasıl yapabilirim proteus da debug?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Tagli - 16 Temmuz 2013, 13:33:59
Proje klasörünün içinde bulunuyor. projeAdi.X/dist/default/production içinde yani.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Mr.Java - 16 Temmuz 2013, 13:55:23
Hallettiyseniz nasıl yaptıklarınızı anlatın ki diğer zorlanan arkadaşlar yararlanabilsin..
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: AsHeS - 16 Temmuz 2013, 14:20:23
Alıntı yapılan: Tagli - 16 Temmuz 2013, 13:33:59
Proje klasörünün içinde bulunuyor. projeAdi.X/dist/default/production içinde yani.
o cof dosyasiyla debug yapmayı hiç başaramadım hitechten sonra ekstra ayar mi gerektiriyor?
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 16 Temmuz 2013, 14:23:18
Alıntı yapılan: Fkarizmatik - 16 Temmuz 2013, 13:55:23
Hallettiyseniz nasıl yaptıklarınızı anlatın ki diğer zorlanan arkadaşlar yararlanabilsin..

Anlatacağım bir başlık açıp ama eve geçince malum iş yeri ;)
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: skara1214 - 04 Ağustos 2013, 00:34:10
evet nasıl hallettiğini hala bekliyoruz :D
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: yldzelektronik - 04 Ağustos 2013, 01:12:49
Alıntı yapılan: skara1214 - 04 Ağustos 2013, 00:34:10
evet nasıl hallettiğini hala bekliyoruz :D

Zaman ayırıp döküman hazırlamak istiyorum ancak çok da zaman ayıramadım.Bitiremedim dökümanı.Ben yaşadığım sorunları yazdım.Çözebildiklerimi de sırasıyla yazmıştım.En son yaşadığım sorunumun çözümü proje ayarlarından include ve source kodların yollarını göstermemizden geçiyor.Yani keilde olduğu gibi proje ayarlarından kütüphane dosyalarının yolunu gösteriyoruz.Eğer include edeceğimiz dosya xc klasöründeki lib klasöründe ise <> ile include ediyoruz.Eğer bizim tanımladığımız başka bir alanda ise "" ile include ediyoruz.Ayrıca her include ettiğimiz dosyada önceki dosyalar muhakkak include edilmiş olmalı.Örneğin usart kütüphanesi yazdığınız.Orada muhakkak mcunun headerı, gecikme varsa delay,printf varsa stdio dosyaları include edilmeli.Aksi durumda anlam vermediğiniz hatalar verebiliyor.Çok farklı mantık yürütmeniz gereken durumlar olabiliyor.Tanımladığınız değişken ile ilgili bir hata olduğunu gösterir ancak kütüphane yolunu doğru gösterince hata gider vs gibi.Ben halen veri tiplerini tam olarak çözemedim.float var double var.derlerken float için unspport diyor ama derliyor.garip biraz helper karıştırayım dedim o derleyiciden daha karışık çıktı.Projeler şu sıra acil olduğundan ccs ile devam ediyorum ama bu sırada notlarımı alıyorum toparlayabilirsem güzel döküman çıkacak ortaya inşallah.

Eğer sorun yaşayan arkadaş olursa sorsun biliyorsak zaten cevaplarız.Böylece döküman çıkana kadar bu şekilde yardım etmiş oluruz.

Bu arada bahsi geçen cof dosyasını ben hiç bulamadım.
Başlık: Ynt: XC8 ADC library çalışmıyor.
Gönderen: Tagli - 11 Ekim 2016, 19:05:38
Komiktir ki yıllar sonra bu meseleye ben de tosladım. Aslında daha önce de olmuştu ve çözmüştüm ama çözümü unutmuşum. 10 - 15 dakika kadar debelendikten sonra çözebildim (çözümü hatırlamaktan ziyade tesadüfen tekrar keşfettim).

Öncelikle, XC8'in yeni versiyonlarında kurulumla birlikte Peripheral Library gelmiyor. İndirmeler sayfasında "PIC18F Legacy Peripheral Libraries" yazan şeyi indirip kurmalısınız. Kurulum sırasında kurulum yeri olarak XC8'in mevcut versiyonunun kurulum yerini göstermek gerekiyor. Örneğin /opt/microchip/xc8/v1.38 gibi (Linux için tabi). Elbette derleyicinin yeni versiyonunu kurduğunuzda bu işlemi tekrarlamalısınız.

Yukarıdaki aşama tek başına yeterli değil, bunu yapmayı hatırlamış olduğum halde hata alıyordum. Project Properties > XC8 linker > Runtime ayarlarından "Link in Peripheral Library" seçeneğinin seçili olması gerekiyor. (Yeniden keşfettiğim ayrıntı buydu)

Bunun ardından projenizde #include <plib.h> demeniz yeterli. O zaten tüm diğer kütüphane header'larını ekliyor, sizin #include <adc.h> gibi ayrıca yazmanıza gerek yok.