Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

PIC C ile CCS arasındaki fark?

Başlatan MICROCEBEL, 23 Ocak 2006, 14:56:42

MICROCEBEL

Selamün aleyküm arkadaşlar;

PIC C ile CCS arasındaki fark nedir bunu bana açıklayabilirmisiniz ve ikisinin birbirnden üstünlüklerini.Ben okulda C++ görüyorum ve pıc programlama  dili olarakta assembly kullanıyoruz.Fakat assemblyle programlar biraz karmaşık ve uzun oluyo.Bu yönden assembly nin yanında bana kolaylık sağlıyabilecek bir dil daha öğrenmek istiyorum hangisini önerirsiniz PIC mi CCS mi?

tersf

tabiki ccs daha iyi. (yani bence). cunku hem programinda cok yararli example lar yapmislar,kopyala yapistiryapabiliyorsun kendi programina. istersen ccs ile yazdigin programin assambly kodunu gorup ccs in yetmedigi yerlerde assembly programinda deisiklikler yapabiliyorsun. falan filan. help dosyasi da cok guzel. yani bence 1 numara.

aYe

Hep öğrenci kalıcaksan CCS ile devam. :) Belki bazılarının tepkisini alıcam ama bir gün nasılsa sizin iyiliğiniz için söylediğimi farkedersiniz CCS ve benzeri programlar sadece oyuncak. Saygılar...
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

gsever

Dili Kernighan ve Ritchie ustaların eserinden öğrenip, sıkı bir biçimde ANSI'ye  bağlı bir dilde tasarım yapmak en doğru karar olacaktır bence...

MICROCEBEL

peki ne yönden oyuncak hocam yani ondan daha iyi olan ne?C program dili ile herşeyin yapılabileceğini söylüyolar.

Petek

Alıntı yapılan: "MICROCEBEL"peki ne yönden oyuncak hocam yani ondan daha iyi olan ne?C program dili ile herşeyin yapılabileceğini söylüyolar.
Oyuncak denilen C değil CCS. CCS de şöyle bir structure tanımlayın
struct deneme 
         {int:5: ali;
          int:6: veli;
          int:5: ayse;} ;

ve kullanın. Deneyin bakalım yeni versiyonunda belki buna müsaade ediyordur. Ama bana olmaz böyle dedi.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

arslan74

Merhaba,

CCS kullanımı basit o yüzden yeni başlayanların bunda proje yapmaları daha hızlı oluyor. Kendi IDE si de ve ayrıca icinde bir cok kütüphane ve bir sürü örnekler var. Yeni başlaynlar için uygun diyebilirim.

Ancak profesiyonel bir kullanıcı için bazı eksikleri var. Öncelikle ANSI standartının dışına cıkılmış. Bu yüzden bu dosyaların taşınabilirliği cok düşük. CCS proje yaptınmı? başka derleyicilere derleyemessin, sadece CCS de derleyebilirsin.

CCS'de PIC'in iç yapısını fazla bilmeden Proje yapmaya başlabilirsin. Helpleri size cok yardımcı olacaktır. Ancak bu başta avantaj gibi gözüksede ilerde donanıma kendiniz müdahele etmek istediğinizde cok zorlanacaksınız.

C'nin en güçlü yani C'i C yapan özellik ise Matematik işlemleri cok iyi yapmasıdır.

İyi bir C derleyicisi Matemetiksel işlemleri kusursuz ve cok iyi yapmasından belli olur.

Ancak CCS bu konuda diğer derleyiciler kadar başarılı değil. Yüsek matematik işlemeri karşısında fazla güvenilir değil.

Daha profesiyonel bir derleyici isterseniz Size Hi-Tech veya Microchip Derleyicisini öneririm. Ancak onlarda başlamak cok zor. İlk kullanımı CCS gibi basit ve hızlı değil.

Hi-Tech veya Microchip Derleyicilerini kullanabilmek için, önce C dilini cok iyi bilmemiz gerek. Yanlızca C dilini iyi bilmemiz yetmiyor. Ayrıca Kullandığınız PIC'in iç yapısınıda cok iyi bilmemiz gerek. Aksi takdirde Hi-Tech kullanmakta zorlanabilirsiniz.

Örenğin interrupta tıpkı ASM gibi flagleri kontrol ederek interruptun nerden gelmiş olduğuna bakiyorsunuz. Oysa CCS de her bir interrupt için ayrı ayrı fonsiyonlar var. O fonksiyonların içinde kodunuzu yazarak yapabiliyorsunuz. Bit kontrolu yapmanız gerekmiyor.

Professiyonel olarak uğraşmayacaksan. Yani ben bu PIC'i sürekli olarak kullanmayıb sadece basit projeler yapmak için kullancaksan o zaman CCS işini görür.

Ama ben basitten başlayıb, cok büyük projeler yapmak istiyorum diyorsan o zaman CCS bir yerde tıkanacağını göreceksin. Kaldı ki daha büyük projelerde diğer derleyiciler bile bazen yetersiz kaliyor. Onun için özel önemler alıyorlar, yada başka yardımcı programlar kullaniyorlar. Ama bu cok ileri bir konu.

İkisinide dene ardaki farkı sen zaten göreceksin.

Çalışmalarında başarılar.

Hasan ARSLAN

YARGICH

Eğer diyorsanki ben projelerimi amatör olarak yapacağım ama C ile yapacağım diyorsan CCS den başkasını seçme. Ama dersenki, ben şimdi yazdıklarımı, ileride de kullanayım veya ileride de geliştirebileyim diyorsan Tatlısukurnazi hocamın da tavsiyesi ile IAR derim. ANSI C standartı bir derleyici. Burda yazdığın yazılımı diğer chiplere uyarlayabilirsin. CCS in dev avantajı sadece PIC için bir C yani taklit gibi birşey :)   ayrıca IAR, CCS'e göre biraz daha zor gibi görünsede sana daha fazla hareket imkanı sağlıyor.

aslan74 ün dediği gibi matematik işlemleri güvenli değil.

Kolay Gelsin...
Uçurtmalar, rüzgarın kuvvetiyle değil, rüzgara karşı koydukları direnç ile yükselirler.

mihri

Yaw bu muhabbetler çok kafamı karıştırmaya başladı yani ağzı olan konuşuyor desem yeri herkes kendine göre  bi derleyiciyi övüp diğerini yeriyo ben programlamaya pbp ile başladım bide baktım her yerde ccs favori ccs tavsiye ediliyo tamam dedim ccs öğrenelim ccs de ilerlemeye çalışırken şimdide IAR çıktı  8O elbette en iyi derleyiciyi öğrenmek istiyorum program yazarken derleyiciden kaynaklanan eksikliklerle karşılaşmak istemiyorum!!! Şimdi ne yapmalı ASM hamallığı mı yapmalı  :?:  bu gidişle olduğumuz yerde sayıcaz.
"Eppur si muove!"

Petek

@mihri,

Ağzı olan konuşuyor ifadenizden nasibini almış birisi olarak yazıyorum.
yazılanlar çok açık. Bir tanesinde yanlış var de sana hak vereyim. Sonra ağzı olan konuşmazsa ne olacak? İnsanlar duvar yazıları ve resimleriyle mi haberleşecek? CCS'yi kullanmak yada kullanmamak sizin isteğinize bağlı. İsterseniz hep CCS kullanın, zaten kütüphanesi zengin. O kütüphane ile başka ihtiyacınız olacağını sanmıyorum. Ama gün gelir bu işlemci beni taşımıyor derseniz, geriye dönüp yaptıklarınızı yeni bir işlemciye taşımanız gerektiğinde uyarlama hamallığını siz çekersiniz. Yok 16F84 bana yeter derseniz zaten sorun yok. Assembler hamallığına geri dönme yönündeki kararsızlığınız zaten bu ikincisini teyit ediyor. Kimse sizi zorlamıyor. Kararı yazılanları değerlendirerek kendiniz vereceksiniz.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

aYe

Alıntı yapılan: "MICROCEBEL"peki ne yönden oyuncak hocam yani ondan daha iyi olan ne?C program dili ile herşeyin yapılabileceğini söylüyolar.

CCS bir firmanın ürünüdür ve bir markadır C dilinin bir başka ismi değildir. IAR,HITECH,MPLABC gibi ansi özellikli bir C derleyicisini tercih etmelisin.

C'ile herşeyi yapman pek tabiki mümkün yahut çok hızlı geçebileceğin türevleriyle, object oriented bir dil olan Csharp'i sanirim yakinda mcu'ler için de kullanmaya başlıyıcaz şahsen ben ilk Csharp mcu derleyicisini dört gözle bekliyorum.
Belkide çıktı haberim yok.
Şu an benim bildiğim sadece ARM2410 gibi işlemcilere WinCE üzerinde çalışacak şekilde Csharp dili ile yazilabiliyor.
Bende herhangi bir işletim sistemi olmadan nasıl yapıcaklar yada yapıcaklar mi bilemiyorum.
Ama yaparlarsa kullanırım çünkü kod sihirbazlarıyla iş yapmıyorum bir dili öğreniyorum ve türevlerine geçmek yada ortam değiştirmek çok kolay oluyor.
CCS kullanıcısının kullanmak istediği komponent CCS'in kütüphanesinde yoksa işler biraz karışıyor, haliyle süper özelliklerinin pek kıymetide kalmıyor.
CCS'in yaptığı komik hatalardan zaten hiç bahsetmek bile istemiyorum.
Benim ansi inadimin en geçerli örneğiyse şu; ansi c derleyicisi ile yazdigim bir programda sed işlemcili 320x240 LCD için yazdiğim kodu aynen .NET ortamına Csharp kodunun içine çektim, kodun özünde virgül dahi değiştirmeden paralel port'tan ayni LCD'yi sürebildim.
CCS'de yazdigin kodu başka mcu ya bile taşıyamazsın.

Vs. vs. uzar da gider ama benim yeni başlayanlara tavsiyem uzun süre asmbler yazıp biraz uzmanlaşmaları. Daha sonrada ansi özellikte bir yüksek seviye dile geçmeleri.

İyi çalışmalar...
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

aYe

Alıntı yapılan: "mihri"Yaw bu muhabbetler çok kafamı karıştırmaya başladı yani ağzı olan konuşuyor desem yeri herkes kendine göre  bi derleyiciyi övüp diğerini yeriyo ben programlamaya pbp ile başladım bide baktım her yerde ccs favori ccs tavsiye ediliyo tamam dedim ccs öğrenelim ccs de ilerlemeye çalışırken şimdide IAR çıktı  8O elbette en iyi derleyiciyi öğrenmek istiyorum program yazarken derleyiciden kaynaklanan eksikliklerle karşılaşmak istemiyorum!!! Şimdi ne yapmalı ASM hamallığı mı yapmalı  :?:  bu gidişle olduğumuz yerde sayıcaz.

Sizin tabirinizle "hamallık" yapmadan uzmanlaşmak yok! En doğru yoldasın, en iyi derleyici diye bişey yok hepsini kullanabilecek hale gelmelisin, bunun içinde daldan dala zıplamakta fayda var. Zamanında elimizdeki kağıtlara hex olarak program yazıp beynimizde kod koşturuyoduk. CCS hakkinda bu kadar olumsuz konuşmama rağmen CCS'i zaman zaman PC'me yükleyip siliyorum. Bazi driver kodlarini  asm'sine yada CCS C haline bakarak ansi C'ye çeviriyorum, datasheet'e bakarak driver yazmaktan daha kolay oluyor. Dolayısıyla hiç kullanmadığım bir derleyicinin de kullanımını biliyorum.
IAR öğrenmeye gelince HITECH, MPLABC gibi ansi bir derleyici, ögrenilcek bişey yok C biliyorsan üçünüde yada benzerlerini de kullanirsin

İyi çalışmalar...
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

MICROCEBEL

teşekkürler arkadaşlar..benim daha assembly çalışmam gerekiyo yani bi 3-4 yıllık tecrübeye ihtiyacım var ileri seviyeye geçebilmem için belkide daha fazla...

mihri

Her derleyicinin bir diğerine göre üstünlükleri ve eksiklikleri var peki ne yapmalı ? hangi derleyiciyi öğrenmeli ?  anlaşılan şu ki hepsini. bana ve benim gibi düşünen  arkadaşlara (eğer varsa) kolay gelsin.
"Eppur si muove!"

davut06

Merhaba arkadaşlar.
Doğrusu ben bu işlerin amatörü sayılırım.Ben Assambly ile başladım bu işlere sonra gördüm ki CCS basit onu tercih ettim.

#if defined(__PCB__)
#include <16C56.h>
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=20000000)

#elif defined(__PCM__)
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

#elif defined(__PCH__)
#include <18F452.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#endif

#include <74595.c>
#include <74165.c>

şeklinde de bir olay var CCS te bildiğim kadarıyla benim anladığım takılı olam MCU e göre çalışabilmesi .
Tabi bazı yerlerde kütüphanesinin sbt kalıplı olduğu söylenebilir. Mesela F877 yerine 628 ile LCD sürerken
#define use_portb_lcd TRUE
gibi modify ekliycez yada LCD.h kütüphanesinde değişiklik yapcaz.
Ama her ne kadar CCS tam oturmamış gibi görünse de bana büyük kolaylık gibi geliyor. Herhalde onu bildiğimdendir :)
Java .Net tartışmalarında da çok bulundum ama bunlar boş önce bizim o sınıra gelmemiz lazım.Dilin bize yetmediği sınıra yani.
Saygılar
SELAMLAR