PIC C derleyicileri

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
21,546
PIC için gördüğüm kadarıyla 3 tane yaygın kullanılan derleyici var.

1) MPLABS XC
2) MikroC
3) CCS

İncelediğim kadarıyla MikroC ve CCS paralı, ama çok kısıtlı bedava sürümleri var. MPLABS'in XC si ise, optimizasyonlar dışında tüm özellikleri destekleyen bedava bir sürümü var. Şimdi öğrenme amaçlı PIC projeleri yapacağımıza göre, bu durumda sanıyorum en mantıklı seçim MPLABS XC kullanmak. Optimizasyonların olmaması, PIC üzerinde C programlamayı öğrenmeyi engellemez diye düşünüyorum. Bu konuda sizin görüşünüz nedir?
 
C programlamayı tabiki engellemez ama proje yapımında bir engel :D MikroC berbat bana göre. onla vakit kaybedersiniz benim gibi başka bir şey olmaz.
CCS C optimizasyon acısından cok iyi. ayrıca internette örnekleri bol hatta Türkçe kitabı bile var baya kapsamlı şekilde konu alınmış.
MPLAB XC güzel ama bazen saçma sapan syntax hataları veriyor. mesela __delay_ms(x); dedik normalde tanımlı direk cekmesi lazım IDE kaynaklı benle alakası yok bazen durduk yere böyle bir şey yok diyor.
Ben mi yanlış yazdım diyip Kod tamamlama özelliğinen bakıyorum harbi gözükmüyor. :D sonra 1-2 derleme sonrasında görür oluyor. yani böyle şeyleride var. başlarken biraz sıkıntılar cekilmiş oluyor.

Ama ileri seviye bir pic ile calışmayı düşünüyorsak 18F diyelim olsun. MMC ( mplab code configurator )eklentisi işe yarayabiliyor. Aynı STM32CUBE gibi bir eklenti pek farkları yok. ikiside aynı soruna hizmet ediyor.
 
CCS'in bedava versiyonu yok galiba. En ucuz versiyonu 50 dolar ve sadece bir PIC çeşidinde çalışıyor. 99 dolara hobby versiyonu var ve full versiyon 600 dolar.

MPLAB XC nin avantajı bedava olması. Bu elektroniğe yeni heves etmiş bir lise veya üniversite öğrencisi için büyük avantaj.

Aslında benim bakış açım profesyonel birisinin proje yapmak için neyi seçeceğinden ziyade, yeni başlayan ve parası kıt olan birisi neyi seçmeli. Diyeceksin ki parası kıt olan EXM1'i nasıl alacak? EXM1 aslında benim öğrenmem için. Projeleri yaparken onu kullanmayacağım. EXM1'i sadece bazı şeyleri hızlıca deneyip öğrenmek için kullanacağım.

Projeleri yaparken breadboard'da, devreyi sıfırdan kurarak yapacağız, yani Vcc yi vereceğiz, clock vereceğiz vesaire. Ama belli bir aşamadan sonra belki EXM1 i yapan firmanın daha hesaplı geliştirme kartlarını da kullanabiliriz. En önemli şey, öğrencinin geliştirme kartını TAM OLARAK tanıması, her şeyini bilmesi ve sadece vakit kaybetmemek için kullanması. Yoksa öğrenci bir PIC'in çalışması için gereken en temel şeyleri bilmediği için, hazır çalışan bir geliştirme kartı kullanıyorsa o yanlış.
 
Abi birde mesela bir pici calıştırmak için gerekli donanımları defalarca kurmaktan bir zaman sonra İllallah geliyor. hele bread board dan nefret ederim. analog devreyi üstünde calıştırırsın bir yerdnen illaki bir parazit alır. bread boardın icindeki kısımlar anten görevi mi görüyor ne yapıyor anlamıyorum. o yüzden gerekmedikce bread board da devre kurmuyorum.

İşin aslı şu , bir zamandan sonra artık bread board da kurulmayacak kadar ilerliyorsun. hani bir kart modül tasarlamak gerekiyor. Dediğin gibi abi bir şeyleri kolaylaştırmak adına geliştirme kartı ciddi önem arzediyor. hatta microchip in geliştirme kartları mevcut mesela üstünde exp yuvaları mevcut hani kendine bir donanım yaptın. sadece modül pinlerini veya donanımındaki pinleri geliştirme kartındaki exp yuvasını baz alarak tasarlaman yetiyor . zaten main board mantığında oluyor öyle kartlar. Yani istedikten sonra pek çok şey cıkıyor ortaya.

MPLAB XC birde diğerlerinden biraz daha farklı. mesela 8 bitler için ayrı 16 bitler için ayrı 32 bitler için ayrı firmwareleri update edip eklenti olarka eklemek gerekiyor. zaten proje oluşturma kısmında sırayla bunlar karşımıza cıkıyor. Ama MPLAB XC de bir picin donanımının modülünü yazınca ram ve rom fırlıyor. bilmem belki ben anlamıyorum ve cok gereksiz yazıyorum. Birde siz orda örnekler yaparken neyden kaynaklandığını veya sizde de aynı problem cıkacak mı ? açıklarsınız anlatırsınız hepimiz aydınlanırız.
 
Dediğin gibi bir kere sıfırdan bir PIC'i çalıştırmayı biliyorsan, artık geliştirme kartlarını kullanmak lazım. Bütçeye ve ihtiyaca göre de değişik kartlar tercih edilebilir.

Kod yazarken de dediğin gibi belki XC ıvır zıvır, olur olmaz herşeyi ekliyordur binary'ye. Bunların hangi adreslerde olduğu, ne içerdiği, boyutunun ne olduğu gibi şeyleri anladıktan sonra bunları umursamayabiliriz. Ama kapalı kutu, ne yaptığı belli olmayan kod kullanmamaya çalışmak lazım.

18F serisi mi en uygun başlangıç için sence?
 

Forum istatistikleri

Konular
5,656
Mesajlar
97,304
Üyeler
2,438
Son üye
İbrahimSönmez

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top