Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip XC Serisi => Konuyu başlatan: serhat1990 - 11 Ekim 2012, 16:17:36

Başlık: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: serhat1990 - 11 Ekim 2012, 16:17:36
Merhaba değerli PicProje Ailesi ;

Bugün itibariyle çalışan bir programımı Hi-tech C ' dilinden XC8 ' e geçirmeye başladım . Bir kaç tane aklıma takılan nokta var . Hi-Tech C dilinde yazdığım yazılımsal usart kütüphanem var. Timer ile yapmıştım . Bu kütüphaneyi XC8'e uyarladım . Yazılımsal usart Hi-tech C dilinde çok güzel çalışıyor . Bozuk data falan gibi birşey olmuyor . Yalnız xc8'de oluyor . Örneğin ,  PicProje mesajını gönderecem . Hi-tech c ' de PicProje diye ekranda yazarken , XC8 'de Pi?Pr%+e Gibi birşey yazıyor . Sonuçta timer ile yazıyorum . Frekansım aynı timer sayma değeri aynı . Aynı devre . Aynı kablo . Ama bu olayı kafam almadı . Ne gibi bir sebeb olabilir. Config ayarlarından desem o zaman mesajda doğru karakter görmem :)

Cevaplarınızı bekliyorum . Herkese iyi çalışmalar.


Düzenleme :


Sorunu düzelttim . Ben böyle bir saçmalık görmedim . Bunu böyle açık belirtebiliyorum . XC8 lite versiyonu kuruluydu bilgisayarımda . Kaldırdım ve 60 günlük full sürümünü yükledim . Programda hiç bir değişiklik yapmadım . Ve kütüphanelerimin hepsi düzgün çalıştı . Anlamadığım nokta lite versiyonunda optimizasyon seviyesi düşük olur tamam . Kod sınırlaması olur tamam . Ama aynı kodun birinde düzgün çalışması diğerinde çalışmaması ilginç . Lite versiyonunuda bugün kurdum güncel versiyon değildir gibi birşeyde olamaz .

Çalışacak arkadaşların dikkatine 60 günlük full sürüm versiyonunu kurun . Çalışmalarınızı onun üstünden yapın . Lite versiyonunda yazdığınız düzgün çalışmayan kod , full sürümde çok iyi çalışabilir :)

Konu başlığını bu olay sonrasında değiştirdim .

İyi çalışmalar Herkese ... 
Başlık: Ynt: Hi-Tech C'den XC8'e Geçiş
Gönderen: kantirici - 11 Ekim 2012, 18:29:24
Merhaba, bende bugün xc8 ile biraz deneme yapayım dedim ama delaylarla başım dertten kurtulmadı. :(

Acaba kullandıgın delay kütüphanesini ekleyebilirmisin?
Başlık: Ynt: Hi-Tech C'den XC8'e Geçiş
Gönderen: serhat1990 - 11 Ekim 2012, 18:31:20
Alıntı yapılan: kantirici - 11 Ekim 2012, 18:29:24
Merhaba, bende bugün xc8 ile biraz deneme yapayım dedim ama delaylarla başım dertten kurtulmadı. :(

Öncelikle yeni kurduysan lite versiyonunu değilde 60 günlük full sürümü kur .

Ne gibi bir problemin var ?

Delay kütüphanesi xc.h içerisindeki dosyalar ile hazır geliyor.

#define _XTAL_FREQ 48000000

Kodlarına bu satırı ekle ; sonrasında

__delay_us(100);

Gibi gecikmeleri kullanabilirsin ...
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: mdargut - 11 Ekim 2012, 20:36:36
Bu aralar benimde başım dertte. Fakat benim sorunum MPLABX ile ilgili. C18 ile yazıyorum kodları, saçma sapan hatalar veriyor. En büyük sıkıntım MPLABX pickit3 e bağlanamıyor. Ama pickit3 ün kendi programı gayet güzel çalışıyor. Daha önceden direkt MPLABX den yüklüyordum yazılımı ne oldu anlayamadım. Son versiyonları yükledim ama sorunlar devam ediyor.
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: mozkan87 - 11 Ekim 2012, 20:49:14
Alıntı yapılan: kim - 11 Ekim 2012, 20:36:36
Bu aralar benimde başım dertte. Fakat benim sorunum MPLABX ile ilgili. C18 ile yazıyorum kodları, saçma sapan hatalar veriyor. En büyük sıkıntım MPLABX pickit3 e bağlanamıyor. Ama pickit3 ün kendi programı gayet güzel çalışıyor. Daha önceden direkt MPLABX den yüklüyordum yazılımı ne oldu anlayamadım. Son versiyonları yükledim ama sorunlar devam ediyor.

"MPLAB driver switcher" bu program ile pickiti hangi programın kullanacağını seçebilirsiniz. Başlat menüsünde mplabv klasörü alrında kısa yolu vardır.
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: serhat1990 - 11 Ekim 2012, 21:26:02
Bugünkü olaylardan sonra Microchip yerine alternatif düşünmeye başladım. Bu yaşananlar ufak hatalar gibi gözüksede büyük zaman kayıpları yaratıyor .
Bakalım zaman ne gösterecek ...
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: ULAGA - 11 Ekim 2012, 21:29:09
Bu konu, beni de düşündürüyor...
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: serhat1990 - 11 Ekim 2012, 21:38:15
Alıntı yapılan: ULAGA - 11 Ekim 2012, 21:29:09
Bu konu, beni de düşündürüyor...

Hocam bugün başıma gelen olay sonrasında iyice düşünmeye başladım . Yani böyle birşeyin mantıklı bir açıklaması varmı bilmiyorum . Ama yapılan iş belli     projeyi lite sürümünde derliyorum . Hatalı çalışıyor hata nerde ordamı burdamı diye bakıyorum ama hatada gözükmüyor . Akşama kadar uğraştım . En sonunda kaldırdım xc ' yi 60 günlük full sürümü kurdum aynı program çok güzel hi-tech c ' de çalıştığı gibi çalıştı . Bu durum sonrasında şüpheye düşmeme gibi bir durum olamaz . Kullanıcı kendi hatasını çözer yapar ama derleyici hatası olursa işler biraz değişiyor .
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: ULAGA - 11 Ekim 2012, 21:56:03
XC serisi derleyiciler hakkında uzman arkadaşlar var ise bu konuya bekleriz...
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: serhat1990 - 11 Ekim 2012, 21:59:45
Alıntı yapılan: ULAGA - 11 Ekim 2012, 21:56:03
XC serisi derleyiciler hakkında uzman arkadaşlar var ise bu konuya bekleriz...

Katılıyorum Hocam ; elbet bu konuda açıklamalar vardır . Olmalı ...
Başlık: Ynt: Hi-Tech C'den XC8'e Geçiş
Gönderen: fgokcegoz - 12 Ekim 2012, 09:49:18
Alıntı yapılan: serhat1990 - 11 Ekim 2012, 18:31:20
Öncelikle yeni kurduysan lite versiyonunu değilde 60 günlük full sürümü kur .

Ne gibi bir problemin var ?

Delay kütüphanesi xc.h içerisindeki dosyalar ile hazır geliyor.

#define _XTAL_FREQ 48000000

Kodlarına bu satırı ekle ; sonrasında

__delay_us(100);

Gibi gecikmeleri kullanabilirsin ...

Delay kütüphaneleri xc.h dosyası içinde gelmiyor. xc.h ı açıp bakarsanız, görürsünüz.

#ifndef _XC_H_
#define _XC_H_

#ifdef __XC8
#include <htc.h>
#endif

#endif //_XC_H


Delay kütüphanelerini kullanmanız için delays.h ı include etmeniz gerekir. C18 deki gibi... Daha sonra şu fonksiyonları kullanabilirsiniz.

* void Delay10TCYx(unsigned char);      // Bu fonksiyona gönderdiğiniz değerin 10 katı kadar cycle süresi bekleme yapar.
* void Delay100TCYx(unsigned char);    // Bu fonksiyona gönderdiğiniz değerin 100 katı kadar cycle süresi bekleme yapar.
* void Delay1KTCYx(unsigned char);      // Bu fonksiyona gönderdiğiniz değerin 1000 katı kadar cycle süresi bekleme yapar.
* void Delay10KTCYx(unsigned char);    // Bu fonksiyona gönderdiğiniz değerin 10000 katı kadar cycle süresi bekleme yapar.

C:\Program Files (x86)\Microchip\xc8\v1.01\include dizininde delays.h ı bulup inceleyebilirsiniz...
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: frederic - 12 Ekim 2012, 10:11:14
ccs c nin son sürümü gayet stabil serhat,ccs tede istediğin kadar register düzeyinde kod yazabilirsin sana engel olan bir şey yok.İlla derinine inmek istiyorsan işin bu derleyicide de bu olanak var.Şehir efsanelerine kulak asmayın, durmadan derleyici değiştirip proje üretmek için ihtiyacınız olan enerjiyi derleyicilere harcıyorsunuz yazıktır bu zamana.
Başlık: Ynt: Hi-Tech C'den XC8'e Geçiş
Gönderen: serhat1990 - 12 Ekim 2012, 17:06:01
@fgokcegoz Hocam ;

Hocam delays.h ' ı include etmeden çalışıyor . Benim demek istediğim xc.h içerisinde mevcut demek değildi . Sadece ek bir bir tanımlama yapmadan kullanabiliyorsun demek istedim ... Biraz yanlış açıkladım herhalde kusuruma bakmayın ...

Alıntı yapılan: frederic - 12 Ekim 2012, 10:11:14
ccs c nin son sürümü gayet stabil serhat,ccs tede istediğin kadar register düzeyinde kod yazabilirsin sana engel olan bir şey yok.İlla derinine inmek istiyorsan işin bu derleyicide de bu olanak var.Şehir efsanelerine kulak asmayın, durmadan derleyici değiştirip proje üretmek için ihtiyacınız olan enerjiyi derleyicilere harcıyorsunuz yazıktır bu zamana.

Hocam haklısınız ; derleyici olaylarında vakit kaybı yaşıyoruz . CCS C kullandım eskiden fakat register düzeyinde kod yazmadım ... Biraz kurcalamak gerek teşekkür ederim ...
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: arslan74 - 20 Ekim 2012, 00:44:20
Merhaba,

Bende C18 kod yaziyordum. Sonra XC8 gectim. Kodlarda ufak tefek değişiklikle XC8 göre uyarladım. İkisinin arasındaki farka gelince kısaca acıklamka gerekirse.

C18 in avantajı: Düzgün kod yazarsanız cok sağlam çalışıyor.
Dezavantajı ise bütün kontrolü size bırakıyor. C18 iyice hakim olmadan istediğiniz kodları yazmak cok zor. Yani sadece C bilmeniz yetmiyor, ayrıca derleyicin huyunu suyu cok iyi bilmeniz gerekiyor.

XC8 iv Avantajı: 256 byte den uzun dizi tanımlayabiliryorsunuz, hiç bir dosyanın ayarlarıyla oynamanız gerekmiyor. interrupt fonksiyon yazması daha kolay. Kullanılmayan yerel ve global değişkenleri söylüyor. Daha az kod üretiyor.
XC8 Dezavantajları: Stabil çalışmıyor. Benim başıma gelen bir olayı anlatayım. normal printf fonksiyonunu LCD ye yazı yazacak şekilde C18 ayarladım. Hiçbir sorunla karşılaşmadım. bu şekilde sorunsuz kullandım. Aynı fonksiyonu XC8 aktardım, oda çalışmaya başladı. Ancak uzun çalıştıktan cok defa derleme yaptıktan sonra printf fonksiyonu çalışmadı. Ekrana hiçbir yazı yazmaz oldu. XC8 Pro mode kullanıyordum. Kodlardamı hata varmı diye araştıma yaptım. Uzunca bir araştırmadan sonra pro mode yerine standart modda derlediğimde kod düzgün çalıştı. pro mode derlediğimde kod çalışmadı. işin garibi pro mod da daha önceleri derledim ve düzgün çalışmıştı. bilgisayarı yeniden baştıp pro modda derlediğimde bu sefer bu kodda düzgün çalıştı. Sonra tekrar belli bir derlemeden sonra yine printfleri parametreli kullandığımda çalışmadı. Bende onların kendim fonksiyon yazdım sorunu öyle çözdüm.

Ama printf in bir çalışıp çalışmadında bir gariplik var. Umarım 1.01 Ver üzerindeki versiyonda bu sorunu çözmüş olurlar.

Birde derleme hizi cok yavaş. C18 kıyaslandığında bana göre en 5 kat yavaş derliyor. XC32 kıyaslandığında ondan 10 fazla hızlı çalışıyor. Üsterlik ondan cok daha fazla uzun kod üretmesine rağmen.

Sonuc olarak XC8 in cok güzel özellikleri, kullanımı cok kolay. Biraz daha stabil hale getirebilirlerse gercekten kullanmak cok fayda var.
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: serhat1990 - 20 Ekim 2012, 09:05:17
Arslan Hocam ; dediğiniz gibi . Bende hi-tech c ' den geçiş yaptım . Pek fazla sıkıntı çekmedim en büyük sıkıntı derleyicinin derleme problemlerindeki korkular . Eskiden Hi-tech ile yazdığım 1 hafta test ettiğim bir projeyi xc ' ile yazdıklarımda test aşamasına en az 2 katına çıkaracam . Bu derlemelerde çalışıp çalışmama olayı sıkıntılı .
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: ULAGA - 20 Ekim 2012, 10:41:47
Konu kararlılık olunca, sanırım ASM üzerine geçen olmuyor.
Tabi PIC mikrodenetleyicisi konusunda.
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: arslan74 - 20 Ekim 2012, 10:54:48
Alıntı yapılan: ULAGA - 20 Ekim 2012, 10:41:47
Konu kararlılık olunca, sanırım ASM üzerine geçen olmuyor.
Tabi PIC mikrodenetleyicisi konusunda.


Bu cevap konuyla pek alakasız oldu. ASM ile C kıyaslamak zaten cok sacma olur. Sapla, samanı karıştırmamak gerek.
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: serhat1990 - 20 Ekim 2012, 11:16:22
Arslan Hocam ; sizin pic c konusunda forumda çok faydalı öğretici cevaplarınız oldu . Siz ne önerirsiniz peki . Bu derleyiciler ile ilgili sorunlarda en iyisi bildiğimiz yoldanmı gitmek ?
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: arslan74 - 20 Ekim 2012, 11:38:19
Alıntı yapılan: serhat1990 - 20 Ekim 2012, 11:16:22
Arslan Hocam ; sizin pic c konusunda forumda çok faydalı öğretici cevaplarınız oldu . Siz ne önerirsiniz peki . Bu derleyiciler ile ilgili sorunlarda en iyisi bildiğimiz yoldanmı gitmek ?

Microchip'in işlemcilerinde yine microchip'in derliyecilerini kullanmak cok fayda var. Zira doğrudan firmanin desteği ve bir sürü örnek yapılmış projeleri var. Başka firmalara mümkün olduğunca girmemekte fayda görüyorum. Ama eğer C diline fazla hakimiyetiniz yoksa veya İşlemcinin datasheetiyle uğraşmadan doğrudan kod yazmak istiyorsanız o zaman başka firmaların derleyicilerine kullanabilirsiniz. Zira o derleyicilerin bazı işlemleri cok kolaylaştıran tooları var. Bunlardan en öne cıkanlar ise CCS ve MikroC dir. Microchip'de CCS yi destekliyor. Kendi sitesinde bile ürünü satiyor ve IDE kurduğunuzda içinde CCS bile geliyor.
Hangisi kullanmak isterseniz, secim size kalmış illa sunu kullan demek doğru olmaz.

Ama ben kendim adıma Microchipin kendi derleyicilerine devam ediyorum. Microchip haricinde kullandığım tek derleyici Hi-Tech di ama onuda zaten Microchip satin aldı, kendi bünyesine kattı.
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: serhat1990 - 20 Ekim 2012, 11:56:32
Anladım Hocam ; o zaman hi-tech c ile devam edecem , tabi bu arada xc ' ile çalışmalarım sürecek . Ama derleyiciye güvenim daha yok . Son zamanlarda yaşadığım bir kaç olay bunu gerektiyor . Sizdende benzer bir durum duyduk .
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: ULAGA - 20 Ekim 2012, 14:41:45
Alıntı yapılan: arslan74 - 20 Ekim 2012, 10:54:48
Bu cevap konuyla pek alakasız oldu. ASM ile C kıyaslamak zaten cok sacma olur. Sapla, samanı karıştırmamak gerek.

Amacım kıyaslama değildi, konuya espritüel bir yaklaşım göstermekti.
Neyse, en iyisi ben daha fazla saçmalamayayım da, öğrenmek isteyenler, rahatça öğrensinler... ;)
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: kantirici - 18 Kasım 2012, 14:35:52
arkadaşlar bu xc8'in ilacı yokmu acaba?
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: AsHeS - 18 Kasım 2012, 14:55:50
Alıntı yapılan: kantirici - 18 Kasım 2012, 14:35:52
arkadaşlar bu xc8'in ilacı yokmu acaba?
http://www.sonsivri.to/forum/index.php?topic=44014.0 (http://www.sonsivri.to/forum/index.php?topic=44014.0)
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: kantirici - 18 Kasım 2012, 15:03:10
Alıntı yapılan: AsHeS35 - 18 Kasım 2012, 14:55:50
http://www.sonsivri.to/forum/index.php?topic=44014.0 (http://www.sonsivri.to/forum/index.php?topic=44014.0)

Hocam oraya bakmıştım ama tam olarak ne yapılacak anlamış değilim. Bahedilen xclm dosyasının linki yok.
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: AsHeS - 18 Kasım 2012, 15:23:34
Alıntı yapılan: kantirici - 18 Kasım 2012, 15:03:10
Hocam oraya bakmıştım ama tam olarak ne yapılacak anlamış değilim. Bahedilen xclm dosyasının linki yok.
O txt dosyasının içinden aldığımı hatırlıyorum çünkü kendim kullanıyorum ama XC8 e ısınamadığımdan bıraktım.
Edit:Tahmin ettiğim gibi dl.txt dosyasının içinde mevcut kürek linkleri.
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: kantirici - 18 Kasım 2012, 15:28:36
.
Başlık: Ynt: XC Lite Versiyonu ve XC Evaluation Versiyonu
Gönderen: EEM35 - 18 Nisan 2013, 18:21:47
hi-tech c den xc8  geçtiğim zaman bende gecikme kütüphanesinde sıkıntı yasadım.Konuyu açınca dedikleri gibi Lite versiyonunu yani 60 günlük deneme versiyonunu tekrardan kurduğum vakit yasadıgım butun sıkıntıların hepsınden kurtuldum.Özetlemek gerekirse  saçmalık!!