Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

CCS C vs Micro C

Başlatan GibsonSG, 29 Ağustos 2013, 12:28:12

GibsonSG

Merhaba arkadaşlar. Bölüm de yeni bitti pek iş güç yok madem boşluk buldum ben de PIC öğreneyim dedim. 1 gündür falan Serdar Çiçek'in CCS C ile PIC programlama kitabına bakıyorum. Dün işe başlayan bir sınıf arkadaşımla konuştuk da bir firmada işe girmiş. Belli amaçlara yönelik PIC tabanlı devreler yapıyormuş. PIC'e başladığımı ona da söyledim. Serdar Çiçek'in CCS C ile PIC programlama kitabından mı çalışıyorsun dedi. Evet diyince ben de ondan öğrenmiştim ama burada millet Micro C kullanıyormuş ben de ona başladım, boşver CCS C'yi Micro C'ye dal daha rahat dedi. Burada tecrübeli arkadaşlar olarak siz neler önerirsinizi? CCS C ile Micro C'nin farkları, benzerlikleri, birbirlerine üstünlükleri nelerdir ? Ya da bu ikisi haricinde daha başarılı bir derleyici var mıdır?Cevaplarınız için şimdiden teşekkürler.

Bayramsumbul

Merhabalar...Ve İyi Çalışmalar.Yanlış Bilmiyor İsem CCS C Tam Olarak Ansi C Uyumlu Değil.Ama mikroC Uyumlu Olsa Gerek.
Bir Elektronik Meraklısının Serüveni...

GibsonSG

Merhabalar hocam. Dediğiniz hakkında ben de birşey okudum demin. Başka bir Türkçe sitede bir başlıkta CCS C, Micro C vs. karşılaştırılmasına yönelik şeyler yazılmış ama açıkçası bana biraz "Futbolcu Kartlarını kapıştırmak" gibi geldi yazılan şeyler. Bu sitede daha düzgün, mühendis gözüyle yorumlar, cevaplar geleceğini düşünüyorum.

LukeSkywalker

#3
Bu işlerde en profesyoneli üreticinin kendi derleyicisidir. PIC için xc serisi derleyiciler var microchipe ait olan. Fakat bu onlarda da bug olmayacağı anlamına gelmez. MikroC'yi yıllardır kullanırım. (Yaklaşık 10 yıldır.) Bugüne kadar sadece birkez bir bug ile karşılaştım ve yeni versiyonun çıkması ile birlikte bug da ortadan kaldırıldı. Mikroelektronika çok sık güncelleme yapan ve sürekli destek veren bir firma. MikroC derleyicilerindeki kütüphane bolluğu  bir avantaj fakat kütüphane dosyalarına müdahele edememek te bir dezavantaj. Fakat dert değil, isterseniz kendi kütüphanelerinizi oluşturabiliyorsunuz sonuçta. XC derleyicilerinde ise hazır kütüphane yok ya da çok az. Kullanıcıların hazırladığı kütüphaneleri kullanabiliyorsunuz. Derleyici seçimi size kalmış. Hangisinde kendinizi rahat hissediyorsanız onu kullanın. Ben derli toplu olduğu için MikroC derleyicilerini kullanıyorum. Birisi de çıkar XC derleyicileri kullanmanı tavsiye eder, bu kişiden kişiye değişir.
http://www.mikroe.com/about/

GibsonSG

Dediklerinize katılıyorum. Başlangıç seviyesinde Micro C adına kaynak ne önerebilirsiniz? Forumda bir hocamızın kitabı vardı sanırım ama o işin başlangıçtan biraz daha ileri seviyesiydi galiba? İlla Türkçe olacak diye de bir şart yok tabi ki.

Bayramsumbul

Bende "İlk Olarak C'yi Öğrenebilirsiniz".Diyecektim. CCS C Kullanıyormuşsunuz. Bence Pek Kaynağa Gerek Yok İde'yi Kurup Help Dosyalarına Bakmak Yeterli Olacaktır Sizin için.En Azından Ben Öyle Yapmıştım.Orada Kütüphanelerin Kullanılmasına Yönelik Açıklamalar Var,Onları İnceleyebilirsiniz. Pic Yazmaç İsimleri Datasheet İle Aynı.Tekrar İyi Çalışmalar.
Bir Elektronik Meraklısının Serüveni...

Gökhan BEKEN

Şunu öğren dememek lazım. En iyisi xc8 olabilir ama bu ona geç dememize yetmez. Önemli olan hangisinde kaynak bulabileceğindir. CCS C, MikroC ve Hi-Tech C ile ilgili çok güzel Türkçe kaynaklar var araştırırsanız bulursunuz. Bunların hepsini sırayla incelemenizi tavsiye ederim. Bir işlemi CCS C de yapabiliyorsanız yani işin mantığı anladıysanız MikroC ye sadece kodları taşımak kalır. Ama pic ile uğraşıyorsanız xc8 serisi derleyiciler menziliniz olsun. Bu işi en iyi yapan dil odur çünkü. Yeterki kullanmayı bilin.
Ayrıca assembly öğrenmek kârınıza.
C dilini bilgisayarda öğrenmenizi kesinlikle tavsiye ediyorum. Yoksa saçma sapan şeylerle vakit öldürür durursunuz.
Özel mesaj okumuyorum, lütfen göndermeyin.

LukeSkywalker

Kaynak olarak imzamdaki bloğu önerebilirim. Altaş yayınlarından çıkan kitap ta fena değil yeni başlayanlar için.

GibsonSG

Alıntı yapılan: meftun - 29 Ağustos 2013, 13:46:53
Şunu öğren dememek lazım. En iyisi xc8 olabilir ama bu ona geç dememize yetmez. Önemli olan hangisinde kaynak bulabileceğindir. CCS C, MikroC ve Hi-Tech C ile ilgili çok güzel Türkçe kaynaklar var araştırırsanız bulursunuz. Bunların hepsini sırayla incelemenizi tavsiye ederim. Bir işlemi CCS C de yapabiliyorsanız yani işin mantığı anladıysanız MikroC ye sadece kodları taşımak kalır. Ama pic ile uğraşıyorsanız xc8 serisi derleyiciler menziliniz olsun. Bu işi en iyi yapan dil odur çünkü. Yeterki kullanmayı bilin.
Ayrıca assembly öğrenmek kârınıza.
C dilini bilgisayarda öğrenmenizi kesinlikle tavsiye ediyorum. Yoksa saçma sapan şeylerle vakit öldürür durursunuz.
Assembly'i lisans eğitimi sırasında mikroişlemciler dersinde ucundan görmüştük. Hocadan kaynaklı olsa gerek pek ısınamadı kimse. "C dilini bilgisayarda öğrenmenizi kesinlikle tavsiye ediyorum " bu cümlede "bilgisayarda öğrenmek" ile kastettiğiniz şeyi pek anlamadım açıkçası :) Bu arada C bilgim var, yanlış anlaşılma olmasın. Sıfırdan PIC işine girmiyorum yani.

@LukeSkywalker, göz atacağım hocam. Master Luke yanlış yapmaz. Her ne kadar Han Solo kendisinin önüne geçse de :D Luke babanın yeri kalbimizde ayrı, neyse Star Wars'a çekersek konu başka yerlere gider  :)

Mr.Java

C bilgin var ama ne kadar ? Herhangi bir platformda uygulama geliştirdin mi ? Yazdığın programlar var mı ? C dili öğrenmesi ve tam oturması uzun süren bir dildir.@Meftun arkadaş yazmış es geçme.Önce bilgisayar ortamı.Çünkü ne kadar çok komut bilirsen PIC programlaman o kadar kolay olur.C dilini çok iyi biliyorum diyen bazı arkadaşlar register,volatile,static,restrict gibi temel yapıları bilmeden direk geçiyorlar PIC programlamaya ve sonu hüsran ile bitiyor.Sadece bu iş değil,her işi hakkıyla yap.Bu işede başladıysan gerekirse 1 sene boyunca sırf PC ortamında program yaz algoritma geliştir.PIC dediğin sonra çocuk oyuncağı gelir.Hatta iddaa ediyorum nette bulduğun kütüphane dosyalarına bakaraktan datasheet bile okumaz algoritmasını çıkarırsın kendin register seviyesinde kütüphaneni oluşturursun.Bu nedenle temelin sağlam olması ŞART !

GibsonSG

Alıntı yapılan: Fkarizmatik - 29 Ağustos 2013, 16:16:13
C bilgin var ama ne kadar ? Herhangi bir platformda uygulama geliştirdin mi ? Yazdığın programlar var mı ? C dili öğrenmesi ve tam oturması uzun süren bir dildir.@Meftun arkadaş yazmış es geçme.Önce bilgisayar ortamı.Çünkü ne kadar çok komut bilirsen PIC programlaman o kadar kolay olur.C dilini çok iyi biliyorum diyen bazı arkadaşlar register,volatile,static,restrict gibi temel yapıları bilmeden direk geçiyorlar PIC programlamaya ve sonu hüsran ile bitiyor.Sadece bu iş değil,her işi hakkıyla yap.Bu işede başladıysan gerekirse 1 sene boyunca sırf PC ortamında program yaz algoritma geliştir.PIC dediğin sonra çocuk oyuncağı gelir.Hatta iddaa ediyorum nette bulduğun kütüphane dosyalarına bakaraktan datasheet bile okumaz algoritmasını çıkarırsın kendin register seviyesinde kütüphaneni oluşturursun.Bu nedenle temelin sağlam olması ŞART !

Çok haklısınız. Bu nedenle C bilgisinin "bilgim var"dan öte olması şart. Zaten bu nedenle "bilgim var" seviyesinden daha yukarı seviyede olmak için Deitel & Deitel'ın C kitabını da aldım yanında, ona da göz atmaya başladım. İkisini bir arada götürmeyi düşünüyordum ben. Ama   dediğiniz  "register,volatile,static,restrict" kısımlarında C üzerinde bilgim yok. PIC öğrenirken onları da anlarım diye düşünmüştüm ama gördüm ki bu iş bu kadar da basit değilmiş. "Gerekirse 1 sene boyunca sırf PC ortamında program yaz " lafı işin önemini çok güzel bir şekilde vurgulayan bir laf bu nedenle PIC işini biraz geri plana koyup Deitel'ın kitabına daha ağırlık vereceğim. Teşekkürler.

LukeSkywalker

Bence önce PC'de geliştir diyen arkadaşlar yanlış yoldalar. PC dediğimiz sistem bir MCU'ya göre daha az gelişmiş bir sistem mi ki önce oradan başlanmalı programlamaya? C bir sistem dilidir. Basit 8 bit sistemlerden programlamaya başlanarak daha iyi öğrenilir.  C dilinin temellerini Deitel'den çok iyi öğrenebilirsiniz. Türkçe kaynak olarak Kaan ASLAN A'dan Z'ye C klavuzunu öneririm. Siz programlamaya başlayın hele, sonrası gelecektir. Programlamada nasıl gelişirsiniz? Uygulama yaparak. Bu sebeple ilk led yak söndür uygulamasını yapmanız ile birlikte gerisi gelecektir. Bazıları ASM ile programlamaya başlamanın daha iyi olacağını söylerler, haklılardır da. Öğrenmeye ilk olarak bit düzeyindeki işlemlerden başlamak gerekir. Bence en iyi kaynak internet. Aradığınız herşey mevcut. Ha illa başucumda bir kitap olsun derseniz Serdar Çiçek'in kitabını tavsiye ederim. CCS falan diye de takılmayım.  Sonuçta C'dir. CCS ile programlamaya başlayınca diğer derleyicileri de çok kısa sürelerde adapte olursunuz.

Mr.Java

#12
Alıntı yapılan: LukeSkywalker - 29 Ağustos 2013, 17:21:18
Bence önce PC'de geliştir diyen arkadaşlar yanlış yoldalar. PC dediğimiz sistem bir MCU'ya göre daha az gelişmiş bir sistem mi ki önce oradan başlanmalı programlamaya? C bir sistem dilidir. Basit 8 bit sistemlerden programlamaya başlanarak daha iyi öğrenilir.  C dilinin temellerini Deitel'den çok iyi öğrenebilirsiniz. Türkçe kaynak olarak Kaan ASLAN A'dan Z'ye C klavuzunu öneririm. Siz programlamaya başlayın hele, sonrası gelecektir. Programlamada nasıl gelişirsiniz? Uygulama yaparak. Bu sebeple ilk led yak söndür uygulamasını yapmanız ile birlikte gerisi gelecektir. Bazıları ASM ile programlamaya başlamanın daha iyi olacağını söylerler, haklılardır da. Öğrenmeye ilk olarak bit düzeyindeki işlemlerden başlamak gerekir. Bence en iyi kaynak internet. Aradığınız herşey mevcut. Ha illa başucumda bir kitap olsun derseniz Serdar Çiçek'in kitabını tavsiye ederim. CCS falan diye de takılmayım.  Sonuçta C'dir. CCS ile programlamaya başlayınca diğer derleyicileri de çok kısa sürelerde adapte olursunuz.

Aynı şeyden bahsediyoruz.Zaten Dentiel kitabı C dilini "heryönüyle" ele alıyor.Arkadaş zaten kitaba başladığında sistem üzerinde programlamaya başlayacak,bitirdiğinde yine sistem üzerinde programlamasını yapacak.Bilgilerini pekiştirmek için uygulamalar geliştirecek.Demek istediğim kitap biter bitmez geçmesi yerine,biraz daha algoritma ve programlama yeteneğini geliştirmesidir sistem üzerinde.Komutlara daha hakim olmak,nerede hangi komutlar kullanmak bunlar PIC ile değil sistem üzerinde program yazılarak geliştirilir.Yoksa PIC dediğin C dilinin en düşük seviyede ki temel komutlarıyla yine programlarınır yanlışmıyım ? for,if,while,switch case,printf ve scanf ? var mı ötesini geçen ? arada belki pointer ! struct,union,makrolar,pointer kavramı !,C standartları arasındaki farklar ? Yukarıda yine XC ortamının en iyi standart olduğundan bahsettik.Altta ise restrict yapısınından bahsettim.En basidinden C standartları arasındaki farkı bilmeyen birisi standart C ile restrict komutunu kullandığı anda derleyici hata verecektir.Acaba ne hatası ?

LukeSkywalker

Derleyiciler ya ANSI uyumludur ya da değildir. ANSI uyumlu olan derleyici C'nin bütün özelliklerini kullanır.

pwm.c

CCS ve MikroC ile ilgili daha önce çok yazı yazdım. aslında hep aynı şeyleri söylüyorum. bunlardan birini kullanmak asla yeterli gelmiyor. imkanın olduğu kadar hepsini öğren.

  CCS derleyicisi ile register kullanmadan tüm PIC ürünlerini programlayabilirsin. işlemsel fonksiyonlarıda çok gelişmiş. seni birçok karmaşadan kurtarıyor. picwizard aracı ile istediğin tüm ön ayarları oluştuyorsun. kötü tarafları ise, çok sayıda bug çıkarıyor ve PIC32 ürünlerini desteklemiyor.

  MikroC ise PIC, DsPIC, PIC32, AVR, ARM, 8051 ürünlerinin hepsini destekliyor, harici kütübhane eklemeden program yazabiliyorsun, foksiyonları basic komutlarına çok benziyor.  kötü tarafları ise, derleyicilerinde versiyon uyuşmazlığı var, yani eski versiyon için yazılmış kodları yeni versiyonda derleyemiyorsun. işlem fonksiyonları yetersiz. bazen basit bir şey için çok fazla kod yazman gerekiyor.

Bu iki derleyicide sonuçta C dili olduğu için birlikte kullanmakta zorlanmassın. birinde yetersiz kaldığın yerde hemen diğerine geçersin.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-