E

Neden MikroC..?

Başlatan Erata, 04 Kasım 2012, 08:29:40

Erata


1. Zengin Kütüphanesi
2. Diger dillere göre daha az kaynak kullanması  (Assembler haric tabi :))
3. Tum işlemlerin debug dahil  yazılımı derlenmesi hatta pic e program aktarılmasi tek bir yazılım (kullanıcı arayuzu ile yapılabilmesi (easypic serisi boardlar yardımı ile hardware debug ve programlama )
4. örnek programlarının hepsinin bir proje gibi olması
5. LCD,GLCD,USB,RS232,MMC,SD, TouchScreen(dokunmatik ekran)  gibi  hardware kullanımında yazılımın çok kolay olması

Easypic serisi  deneme boardları sayesinde pic sök programla tak gibi işlerle ugraşmadan program denemeleri yapılarak çok cabuk proje oluşturabilme
gibi özellikler sayılabilir





mustafa48

Ben bir ucundan tutup başladım 25 yıl basic yazdıktan sonra biraz zor gelsede bir kaç proğram yazdım.
Değişken kapasitesi çok daha üstün.

inventor

Öncelikle aramıza hoşgeldiniz.

Ben işe asm ile başlamıştım. Sonra ETE hocam sayesinde PBP ile devam ettim. Şimdi ise Proton kullanıyorum. C dilini hep merak etmiştim ama basicden protona geçerken bile sıkıntılar yaşadım. Tabanı aynı ama yıllarca kullandığınız komutlar bir anda farklılaşıyor. Şimdi mikroC ile birşeyler yapayım diyorum ama birazda tırsıyorum.

Bu bölümde aynı ETE hocamın dersleri gibi temelden başlayabilirseniz eminim takipçiniz  çok olacaktır. Bu forum basic üzerine kurulmuş. Bu nedenle komutları verirken basic karşılıklarınıda izah etmeniz konunun anlaşılması açısından önemli diye düşünüyorum. Nasıl olsa basic bilginiz de varmış.

Tekrar hayırlı olsun diyorum.

Selam
İlmin en büyük düşmanı, sabırsızlıktır. (Şems-i Tırmizi)

umitco

Bende 2 gündür CCS C araştırıp okuyorum , eğer burada ders verilirse (özellikle Pic Basic ile kıyaslamalı) merakla takip ederim.

Mucit23

Mikroc nin de gıcık taraflarından biri kendi kütüphanelerinin açık kaynak kodlu olmaması. MikroC bence C' ye adım atmak için ideal bir dil. Gerçekten program yazmak çok kolay ve zevkli.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

xoom

Bende eğer C dili seçilecekse Kesinlikle CCS C derim.. aralarında çok farklı bir yapı olmasada CCS C mikroC den dha zengin bir mimariye ve daha zengin kütüphanelere sahip hatta bir süre sonra Mikro C 'den CCS C ye geçmeyi isteyeceğinizi düşünüyorum.. gerçi erata hocamız tersini yapmış olsada.. bir çok programcı MikroC'den CCS C ye geçmektedir..

KAZIMUGUR

C dilinin kendine has rutinlerini ve kullanılan derleyicinin komut dizelerini ezberledi iseniz , basic de nasıl yazıyorsanız c de aynı şekilde yazabilirsiniz.
Derleyici seçimi ne kadar pratik bir şey istediğnize bağlı bir durumdur.
Bazısı derki her şeyine hakim olmalıyım.
Bazısı derki derleyicileri yazanlar senin kadar bilmiyorlar o yüzden bazı rutinlere gireken ve çıkarken açılacak -kapatılacak şeyleri hep unutuyorlarmış o yüzden otomatiğe atmışlar.
Bazısı derki ben uluslar arası kod nakliyeci şirketi sahibiyim , bu yüzden kolayca kodları bir mcu dan diğerine nakledebilmeliyim o yüzden kodlar uluslararası olmalı.
Bazısı derki ben bu aralar ccsc öğreniyorum diğeri hi-tech c , en iyi bu imiş tüh vakit kaybetmişim.
Bazısı derki şu derleyici daha az kod üretiyor .
Bazısı derki çaktırmayın ben bunun satıcısıyım , bu ekşi değil tatlı , öbürleri tukaka .

Ben diyorum ki , benim için bunlar araç , amaç değil .
Her hangi bir mcu ile ilgili pdf ler zaten her yerde var.
Her mcu nun az çok farkı zaten var derleyici en kralı olsa ne yazar.
İşimi en kolay hangisi görüyor , hangisinde bolca kod bulabilirim ( daha doğrusu hangisinde hazır sürücü çok ) ...
Kullanacağım derleyici tercihim mcu nun her türünü destekliyormu , ayrı ayrı para ödeyecekmiyim,sık sık güncellenirmi,ne kadar zamandır piyasada,kullanıcısı çokmudur  ????  .....

Her tür program için gördüğüm kadarı ile , o program kolayca bulunabiliryormu , TR eğitim notları videoları varmı , işte o program en çok tanınıyor ve kullanılıyor.
Öğrenci kolay öğreniyorsa patron olduğunda ya da seçici , doğrudan bildiğini seçiyor macera aramıyor.
Çok kullanıldıkça sorunları bir şeklide çözülmüş ve paylaşılmış oluyor.

Pic ler için pbp da @ETE hocamın derslerinden gerisi dandik dündik şeyler.
C içinse Serdar Çiçek hocanın kitabı harika.
Özellikle yeni başlayanlar için eksiksiz denebilir.
İşte bu yüzden açık ara tercih edilen ccs c.

Ben sağ olsun @ETE hocamın dersleri ile başladım.
Sonra C leri denedim.
Şimdi diyorumki @ETE hocam C lere ağırlık verse üfff ne biçim kaynağımız olur.
Bu adam pic mcu ların mantığını yalamış yutmuş , çok sağlam bir algoritma anlayışı var , birde c nin geniş imkanlarını eline alısa , kim tutar ki ?
Ama sanırım aynı benim gibi , bu yaştan sonra ooooo , elimdekilerle işimi görüyoruym gerisini gençler düşünsün.... diyor gibi , yani bana öyle geliyor.

Neyse bu hamurun kaldırmayacağı su yok.
Uzun lafın kısası c ile ilgili azıcık döküman paylaşayım.
Bunlar başlangıç için , işi ileri götürmek isteyenler kesinlikle önce , mcu ları unutacak bildiğimiz c kursuna gidecek bir ustadan iyice öğrenecek sonra dönecek mcu lara künde atacak.

C ciler.rar

Basic forumların oluruzda basic i unuturmuyuz , hayırrr.

PBP.rar



ete

C dilinin o herkesin dilinden düşürmediği avantajları ne ise bende ona kapılıp arada bir C ile ilgili kitap okuyorum. Özellikle yaz tatilinde yapacak bir şey bulmayınca biri ki saat okuyorum.
Program yazarken bana ters gelen bir kurulum mantığı var. Bir türlü kanım ısınmıyor. Oldum olası kural ve protokollerden nefret etmişimdir. Anlamsız terimler ise işin cabası .
SOnra oturup düşünüyorum. Bu işte derleyici değil akıl mantık önemli diyorum kendi kendime. Bir şeyi iyi yaparsan gerisi hikaye diyorum.
Basic de yazamayacağım program yok yeterki ne yapacağımı çok iyi anlayayım. Ticari anlamda deveye hendek atlattıran programlar yazıyorum. Hatta son aylarda sürekli olarak PLC lerin yapabileceği işler geliyor.

O halde ne diye C peşinde koşayımki. ?. Bakın C dilinde bir şey yapabilmek için kütüphane denilen örnek uygulamalara ihtiyacınız var. Benim basic de yok böyle bir ihtiyacım. O halde neden C ile uğraşayım.  Şimdi sazı aldım elime size bin tane C ye bulaşmamak için sebep yazabilirim. En önemliside bir programın yazılma hızı. Epeyce hızlı düşünüp hızlı program yazabiliyorum. C dilinde bu kadar hızlı yazılabileceğine inanmıyorum ama iddialıda değilim. Çok hakim biriside C de hızlı yazabilir belki. Ancak ben programı bitirinceye kadarC de ancak protokller yerine getirilir diye düşünüyorum.
Basic de zorlandığım bir iki konu var aslında birincisi Grafik LCD kullanımı. Normal şartlarda bu sorunu aşabiliyorum ama çok vaktimi alıyor. PBP da komut eksikliği belimi büküyor. O sorunuda Proton ile yazarak aşarım diyorum hep kendi kendime.
Bir diğer konuda küsüratlı büyük rakamlarla yapılacak hesaplamalar. 8 bit olanları aşmam çok kolay hatta 16 bit hesaplarıda yapabiliyorum. Virgülden kurtararak ve 32 bit aritmetik kullanarak yapıyorum bunları. Ama daha büyüğü için elimde alternatif yok ama bu güne kadarda ihtiyacım olmadı. Olmayacak herhalde.

Sonuç olarak şunu söylemek isterim Basic kıvrak bir dildir. Kolay anlaşılır hızlı yazılır. Örnek buldunmu işin kolay demektir. Örnek deyince bizim sitenin bir örnek deryası olduğunu da hatırlatmak isterim. Başka yerde yok bu kadar detaylı örnek.
Kısaca yaş altmışı geçti bu saatten sonra C dili ile yazsam ne olur yazmasam ne olur diyorum kendi kendime. Ama öğrensem de fena olmaz diyorum. Anlaşılan derinelemesine öğrenmekle yüzeysel bakmak arasında gidip geliyorum.
Dillerin mukayese edeilmesi konusunda Kazım'a katılıyorum. Bir derleyicinin diğerine olan üstünlüğü yoktur. Birinin avantajlı olduğu yerlerde diğeri dezavantajlı olabilir ama onunda başka konularda avantajları vardır mutlaka. Önemli olan senin o dile ne kadar hakim olduğundur. Yoksa derleyicinin üstünlüğü sana bir şey kazandırmıyor.
Zamanında yaptığım incelemede Mikro_C nin çok fazla bug barındırdığı konusunda bir sürü şikayet okumuştum. Sonuçta derleyicide bir programdır ve iyi program yıllar içinde yerine oturur. Bakın Microsoft binlerce adam aynı işletim sistemi üzerinde çalışıyor ama güncellemeleri bir türlü bitmek bilmiyor. İyi program yıllar içinde oturur açıklamasına güzel bir örnekdir.
Bütün derleyicilerde kusurlar bulunuyor. Buna PBP da dahil. hemen hemen en eskilerden birisi olmasına rağmen halen kusurları bulunuyor. Diğerlerinde kusur oranı dahada fazla. Ben buna bakarım. İki derleyicide kusur oranı hangisinde az ise benim için iyi olanı odur. Bu nedenle dilleri bir birleri ile çakıştırmayın. Her kes öğrendiği dile ne kadar hakim onun muhakemesini yapsın daha uygun olur.
Sizlerden ricam şu C iyidir bu daha iyidir polemiğine girmeyin. Her kes bir yol tutturmuş gidiyor zaten geri dönmek zor. O nedenle varsa kusurları burada açıklayın . Yine var ise trick ler (püf noktaları) açıklayın örnek programlar verin. Bu sitede C konusunda da madem bir pencere açtık. örneklerin çoğalmasını isterim. Burası çoğu zaman bir kaynak olarak kullanılıyor.
O nedenle örneklerimizi çoğaltmamız gerekiyor.
Hepinize kolay gelsin.
Ete

Erata

Öncelikle bu güzel yorumlar için teşekkürler

hoşbuldum cümleten :)

Elimden geldigi kadar yardımcı olmaya calışacagım tabi  benim düşüncen ETE  hocanın yaptıgı dersleri  mikroc ve ccs c   olarak PBP ile karşılaştırmalı olarak yayınlamayı düşünüyorum

bir ikincisi ETE hocanın foruma ekledigi  PBP yazılımlarını  eğer izin verirse CCS C ve Mikroc ye cevirip yazmayı düşünüyorum

umarım bu şekilde daha faydalı olur

Aslında C dillleri arasında   en babası  HI-TECH  C  ama o birazdaha  diger c lere göre zor onda kütüphane yok :D herşeyi kendiniz yapacaksınız o yuzden oncelikle biraz kolaya kaçtık diyelim  C temelini basitten ögrendikten sonra HI-TECH e de geçilebilir ve hayırlısıyla başlıyalım gerisi gelir yavaş yavaş

tekrar teşekkürler  ve herkeze işlerinde başarılar dilerim 


not : ETE hocanın yaşını bilmiyorum ama bende yaşlılar (emekliler) sınıfındanım :))



Ruzgar

#9
Ben mikro C 'nin amatörlerindenim yaşım daha 18 ama derinlemesine mikro C öğrenmek istiyorum(İlk olarak basic ile başladım sonra MCS'nin w7 64bit sorunlarıyla uğraştım ama bir türlü başarılı olamadım. ). Sebebim ,belki çok lazım olmasa da,  kurduğum devre ile haberleşmek için bir program yazamam gerekecek bu programı da c dilinde yazarım düşüncesiyle c öğrenmek istiyorum. C,C#,C++ hepsi birbirine benziyormuş bilgisayar bölümünde okuyan arkadaşlarımdan öğrendiğim kadarıyla bu dilin temeli öğrenirsem gerisi gelir diye umuyorum.

Bilgi paylaştıkça çoğalır.

EMKE

Konuyu hortlatmak gibi olacak ama piyasada profesyonel olarak çalışanların çoğu c dili ile yazıyor bu aralar bende c diline merak saldım ve ccs c ile mikro c yi öğrenmeye başladım ufak tefek deneme programları yazıyorum basic dillerinin ne kadar geride kaldığını bariz bir şekilde görmeye başladım , c dilinin avantajlarından biride yazdığınız programları ufak bazı değişiklikler ile başka bir platforma yani pıc atmele yada nxp farketmiyor adapte etmesi taşıması baya kolaylaşıyor ayrıca arm ile uğraşacaklar kesinlikle c dili şart oluyor basıc ile hiç duymadım görmedim arm programı yazan asm ile olabiliyor ama çok zor diye biliyorum, birde c dili çoğu şey standarta bağlanmış durumda bu yüzden c dili ile gömülü sistem programları yazan c dilinin yapısını çözdüğünde bilgisayar programlama konusundada işlemler yapabiliyor ( c#, c++ vs ) bu yüzden c dilinin bariz avantajları var .

Bahri Bilir

#11
C# çok sevdiğim yazılım dilleri arasında.Sebebide basic dilini sevmemle aynı.Bu sebeb ise kodlarda mantık yürütülerek çoğu şeyi çözüyor olabilmemiz.Yani mantıksız sırf kural olduğu için kullanılan parametreler c ye göre çok çok az.
Demişsinki c yi bilenler c# daha iyi adapte olur.Ben böyle düşünmüyorum.C# çok sevmeme rağmen c ile pic programlamaktan nefret ediyorum.Çünkü yazılım diline aykırı bir mantık içinde.Kendine has kalıpları ve şartları olan bir dil.
Evet belki arm gibi çalışmalarda avantajlıdır (daha önce hiç uğraşmadım).Ama ben özellikle yeni başlayacak kişilere en kısa yoldan umutsuzluğa kapılmadan, uzun vakitler kaybetmeden orta seviye program yazabilmeleri için basicle başlamalarını öneririm.Ki bu güne kadar tamamladığımız 100 aşkın projelerden 2-3 proje (oda sırf hazır kütüphaneleri hatrına) haricinde basicin yetersizliğine rastlamadım.
Eğer basicin yetersiz kaldıkları bir projeyle karşılaşırlarsa o projeyi parasını verip dışarı yaptırmaları veya biraz vakit ayırıp c yi derleyebilmeleri onlar için daha çok kar ve vakit tasarrufu olacağını düşünüyorum.

Aslında bana kalırsanız bence artık c ve basic yerine linux üzerine yoğunlaşmamız gerekiyor.20-30 tl lik linux işletim modüllerine sahip bir çağdayız.Biz linuxa ayak uydurasaya kadar 10 tlye düşer fiyatlar.
"Hedeflerin bittiği tek yer, YENİ hedeflerin başlangıcıdır"

EMKE

C dilini övmek yada yermek gibi bir amacım yok bilirshop  :), aksine bende kaç senedir basic ile yazıyorum aslında derleyici yapılan işin boyutuna görede değişiyor tercih meselesi tabiki zamanında bir arkadaşım izmir organizede elektronik sistemler ve cihazlar üreten firmada çalışırken ordaki mühendisler bile bırak asm yi basic felan direk c öğren demişler  neyse herkes bildiğiyle yazıcak tabiki , ama  projrnin boyutu büyür  bir çok donanım vs tft ekran gibi ekstra donanımlar girerse işin iiçine  asm yada basic ile yazmak işkenceye dönüşebilir .

EMKE

bir hatırlatmada c dili makine diline daha yakın bir dil olduğu için daha hızlı çalıştğı ap açık ortada denemelerimde bunu bariz farkettim.

İlyas KAYA

Aynen bende C nin gereksiz tırnak virgül yani temel yazım mantığına ayrılığından ötürü nefret ediyorum.
Bu projede C kullanayım diyorum ama editörü açınca vazgeçiyorum :)
Mecburen CCS C ile 1-2 proje teslim ettim. Birtanesi otomatik perde kesme makinesi idi.

Aynı işi aynı donanım ile hem basic hem de CCS C ile yaptım.
Aralarında ciddi hız farkı var. Aynı zamanda daha düşük boyutlarda kod üretiyor.(kısa programlar hariç)

Basic biraz hantal kalıyor ve özellik ile interrupt (kesme) yordamında çok sıkıntı çıkartıyor.
Ya kesme hızlı ana döngü yavaş , ya da ana döngü hızlı kesme rutini yavaş oluyor. Bir tanesini tercih etmek gerekiyor.
CCS C de bu sıkıntı olmadan çok rahat aşılabiliyor ama gelin görün ki hem editörü hem yazım dili bana çok uzak..

Şimdiler ise CCS C nin temel yapısı olan "fonksiyonlar" gibi Basic 'i kullanmaya çalışıyorum. Eğer başarılı olursam C nin yapısını basicte kullanıp daha hızlı daha esnek kodlar yazabileceğim.
Ah bir de vakit bulabilsem. :) Hazırda çalışan sistemlerime pek dokunmak istemiyorum.. Çalışıyorsa elleme :D
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

Powered by EzPortal