PIC Döküman Arayışı

Başlatan egegulbahar, 04 Ocak 2017, 18:17:03

egegulbahar

Merhaba

PIC programlamayı öğrenmek ve elektronik bilgimi geliştirmek için kitap/döküman arıyorum.Önerebileceğiniz tr/en bir kitap veya döküman var mı?

Aradıklarıma ek olarak :

1.) PIC için önerebileceğiniz derleyici program.
2.) PIC için önerebileceğiniz ara programlama devresi.
3.) Kısa bir araştırmadan sonra PIC' te kullanılan 3 dil gördüm C, PIC basic pro, ASM. Bu diller derleyici programa göre mi belirleniyor yoksa PIC' ın kendisine göre mi?


CCS C programını buldum bunun hakkında da kısa bir bilgi verebilir misiniz? Hangi dil ile yazılır vs..

Teşekkürler

apsis

Fırat DEVECİ'nin Hi-TECH C kitabı var. C biliyorsan ve biraz da donanım bilgin varsa yol gösterici ve uygulamalı bir kitaptır. Ücretsiz olarak yayınlamaktadır.
http://www.firatdeveci.com/programlar-kitaplar/kitaplar/
"Makineye Beyin" MEKATRONİK

pwm.c

Derleyici seçimi senin yapacağın devrelere, elektronik ve programlama bilgine göre değişir. örneğin, bir proje yaptın ancak bundan sadece 1 tane mi üreteceksin yoksa seri üretim mi olacak? dahası, ne tür devreler yapmak istiyorsun? ve hangi PIC türlerini kullanacaksın?
Bize yeteri kadar ayrıntı verirsen seni daha kolay yönlendirebiliriz. şunuda hatırlatayım ki, mikrodenetleyici için sadece  PIC'lere çakılıp kalmana gerek yok. çok sayıda alternatifin var. aynı şey derleyiciler için de geçerli. kod yazmadan programlama imkanı veren derleyiciler bile mevcut. öncesinde seni bilmeliyiz.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

Teğmen

Merhaba
@pwm.c 'nin dediği gibi önce senin ne iş yapacağını bilmemiz gerekir.
Neredeyse sayısız programlama dili,sayısız işlemci/denetleyici var.PIC,ARM,Toshiba,Motorola,Atmega v.s
Detay verirsen yardımcı oluruz.

Kolay Gelsin
"Girdim ilim meclisine kıldım eyledim talep,   Dediler ilim geride kaldı illa Edep illa Edep" Hz.Yunus Emre K.S.

egegulbahar

Eksik bilgi olmuş, yazdığınız mesajlar doğrultusunda bilgi veriyim:

5 senedir yazılımla uğraşıyorum buna bağlı olarak C' yi bildiğimi söyleyebilirim.Yazılımın sanal dünyada kalması canımı sıktığı için bunu dış dünyaya aktarmam gerektiğini düşünerek amatör olarak son 1 bucuk senedir arduino ile ilgilendim. PIC, ARM' ı diye bir şeylerin olduğunu 2 hafta önce öğrendim ve üzerinde yapılmış projelere bakıyorum ne kadar çok proje yapılabileceğini düşünüyorum.Elektronik bilgim temel-orta arası bir seviyede bunu geliştirmek için bir kitap aldım daha elime geçmedi 2-3 gün içinde gelecek :) . PIC ile yapacağım şeyler tamamen kendime ait şeyler olacak bu yüzden seri üretim vs söz konusu değil.

Dediğim gibi kendimi elektronikte geliştirmek için civarı araştırmaya devam ediyorum geleceği olan bir dili sıfırdan öğrenmek istiyorum ki genelde bu tür şeyler için önerilen Hi-Tech, daha basit gibi anlatılan ve bol örnek bulunabileceği söylenen CCS C' de varmış.Kararımı veremiyorum çünkü kafamda bu yapıların içi boş ve havada.Bu dil seçimi için nelere dikkat edilmeli ve bunların artısı eksisi nedir öğrenmek istiyorum.

PIC ile kullanacağım entegrelerin tekrar tekrar üzerine kod yazılabilmesini istiyorum. Eski CD' ler gibi tek yazım olsun istemiyorum çünkü elektronik komponentlere ulaşımım biraz sıkıntılı yani internet dışında ulaşabilmem pek mümkün değil.

Texas Instruments ve Microchip PIC arasında ne gibi farklılıklar var en yaygın kullanılan hangisidir ve bunları kontrol edebilmem için hangi diller populerdir.

Biraz uzun oldu ancak detay vermemi istemişsiniz kusura bakmayın cevaplarınız için teşekkür ederim.

pwm.c

öncelikle size durumu daha kolay anlatmak için mikrodenetleyicileri 8 bit ve 32 bit diye 2 ayrı kola ayırayım. ara değerler var ama başlangış olarak bu ikisini ele alalım ve aralarında kıyaslama yapılmasın. sizin yapmak istediğiniz devre türünü bilmemizdeki neden işte bu gruplardır. şimdi sana git 8bit pic basic yada ccs kullan deriz ama sen çıkıp navigasyon devresi yapmak istiyorum dersen ozaman işin rengi değişir. yada 32bit gömülü sistemli SBC kartlarını gösteririz ama sende kumanda devresi yapmak istiyorum dersen yine iş tersine döner. mikrodenetleyici seçimini bu hususa göre yapman gerektiğini anlatabilmişimdir umarım.

Arduino kullandığınıza göre bu işinizi yeterince görmesi lazım. bikere açık kaynak kodlu, tamamen ücretsiz, kaynak bolca bulunuyor, programlama devresi gerektirmiyor ve her seviyeye uygun türü mevcut ancak nasıl söyleyim bazen basit devreler kurmak gerekiyor. örneğin zamanlayıcı yada rgb gibi. bu durumda arduino kartları pahalıya kaçar. gömülü sistemleri kullansan bile bunun yanında şu 8 bacaklı miniklerden tercih etmen gerekebilir.

PIC konusunda kullanım amacın herkesle ortak zaten. piyasada bolca bulunabiliyor ve her türde derleyici mevcut ancak bu derleyicilerin biri hariç hepsi paralı. arduinoların çoğu atmel AVR tabanlıdır ve bunların donanımı PIC'den çok üstün fakat AVR mikrodenetleyicilerine sürekli yazılım atman gerekiyorsa çok pahalı programlayıcılara ihtiyacın olacaktır. ucuzlar seni yarı yolda bırakır. PIC'te ise programlayıcı alternatifin çok fazla. ayrıca PIC'lerin hafızaya yazıp silme ömürleride AVR'lerden daha fazladır. birde PIC'lerin kesme (interrupt) donanımlarıda çok kullanışlı.
elindeki imkanlarına göre bunlardan birini tercih edebilirsin. Diğer mikrodenetleyiciler ise elbette geride kalmaz ancak kaynak bulma ve temin etme sıkıntıları yaşayabilirsin. şöyleki bu mikrodenetleyicilerle bir devre kurdun ve aradan uzun yıllar geçtiğinde onun üretimden kalkma yada piyasada bulamama olasılığı muhtemel. PIC türlerinde böyle bir sıkıntı çıkacağını sanmam. 20 sene öncekileri bile hala bulmak mümkün.

derleyici konusuna gelince bu epey uzun mesele. öncelikle 8bit ve 32bit tercihini doğru yap. bu tercihin 32bitten yana ise SBC kartlarıyla çalış yada maddi imkanların iyi ise direk FPGA kartlarına yönelebilirsin. yok çok abartılı olmayacak diyorsan günümüzde STM32 serileri çok popüler durumda.
eğer tercihin 8bitlerden yana ise arduino ile devam et derim. yok illaki PIC ile boğuşmak istiyorum diyorsan ozaman karşına çok sayıda derleyici çıkar. bunları başlıca açıklamam gerekirse:
1-PIC Assembly: bu makine dili olarakta bilinir. mikrodenetleyiciyi tamamen manuel kullanıma dayalıdır. bu nedenle sorun çıkarmaz ancak çok uzun kodlar yazman gerektiği için başını epey ağrıtır. PIC'e tam anlamıyla hakim olmak istersen ve hızlı işlemler için bunu bilmen gereklidir.
2-XC8-XC16: PIC'leri üreten microchpin kendi C derleyicileridir. her kesimden destek görüyor ama pic12f ve pic16f serileri için kütübhane bulmak zordur ve bu türler için pratik bir derleyici değil zaten.
3-Pic Basic Pro: eski bir basic tabanlı derleyicidir. kullanımı çok kolay olduğu için o zamanlar popülerdi ama günümüzde yetersiz durumda. eski versiyonların 64bit windosta çalışmaması, float değişkenleri tutmaması, 16bit picleri desteklememesi onu çok demode yapıyor ama günümüzde bile bazı yaşlı amcalarımız hala bırakmamış durumda.
4-Proton Basic: bu pic basic pronun geliştirilmiş halidir. komutları birbirine çok benzer. kolay kullanım için çok sayıda pratik komutları bulunuyor ve desteklediği PIC türüde iş görür durumda ancak yeni versiyonlarda geliştirmeler yapıldıkca derleyici hatalarıda çoğalmış durumda. bu sorunlar geliştirilmiş PIC türlerine kod yazınca kendini çok gösteriyor. eskiden kararlı ve iyi bir derleyiciydi ama günümüzde yetersiz kalabiliyor.
5-Hi-TECH : buda eski bir C derleyicidir. sorunsuz olmasıyla bilinir ancak microchip firması aldıktan sonra güncellemelerini kaldırıp desteğini kesmiştir. XC serileri bunun devamı niteliğinde. Hi-TECH C için ısrar edenler eski versiyonları kullanmak zorunda kalıyor.
6-JAL: ücretsiz tek derleyicidir ve hafızayı verimli kullanıyor. açık kaynak olmasına rağmen bizim ülkede hak ettiği desteği görmedi nedense. hatta jaltürk diye geliştirmek isteyen bazı girişimcilerimizi pes ettirmişler.
7-FLOWCODE: kod yazmadan bir çok mikodenetleyiciye program hazırlayabiliyorsun. programlama dillerine yabancı olanlar için bulunmaz birşey ancak çok uzun algoritmalar hazırlamak sıkıntılı oluyor. kısa ve sade türden bişeyler yapabilirsin.
8-IAR: profesyonel bir C derleyicisi olduğu söyleniyor ama PIC'ler için hazırlanmış derleyiciyi hala destekliyor mu bilmiyorum. bunları bulsan bile kütübhane sıkıntısı yaşayabilirsin.
9-Mikroelektronika: bunun C, basic ve pascal olmak üzere 3 ayrı derleyicisi mevcut. PIC harici Atmel ve 32bit ARM desteğide bulunuyor. mikrobasic derleyicisi diğer basic derleyicilerine göre daha başarılı ancak kaynak bulma sıkıntısı yaşıyorsun. o nedenle mikroC derleyicisine yöneliyoruz. standart C ile uyumu iyi ve kütübhane desteği epey fazla ancak bunların kapalı olması çok sıkıntılı bir durum. birde zamanla değişime uğrayabiliyor. eski versiyon için yazılmış kodları yenisinde derlemiyor.
10-CCS : C derleyiciler arasında en yaygın olanlardan biridir. bolca örnek kod ve kaynak bulmak mümkün. harici aygıt kütübhaneleri açık, komutlar ise kapalıdır. bu derleyicinin en iyi özelliği global olmasıdır. PIC mikrodenetleyicisinin donanımını otomatik ayarlıyor ve registerlerle uğraşmana gerek kalmıyor. hiç tanımadığın PIC türüne bile kolayca kod hazırlayabilirsin yada aynı kodları farklı PIC türlerine kullanabiliyorsun. sıkıntıları ise derleyici hataları sık görülüyor ama her yeni versiyonda bunlar düzenleniyor. bu sebepden dolayı sıkça güncelleme geliyor. diğer eksiği ise şuan için PIC32leri desteklemiyor ki 32bit için başka mikrodenetleyiciler kullanmak daha mantıklıdır.

gördüğün gibi kendim tüm derleyicileri denedim. biri herzaman yeterlidir diyemem. nasıl söyleyim, bazen basic için yazılmış örnek kodu C diline dünüştürmen gerekebilir. yada zaman sıkıntısı yaşadığın durumlarda hazır kütübhaneli kod kullanmak daha uygun olabilir. bütün bunları PIC türleri için söylüyorum. eğer 32bit sistemlerede el atacaksan C dilinden başka alternatifin zaten yok.

hafıza yazma ve silme olayına gelince, piyasadaki bütün ürünler flash hafızalıdır. birkere yazılabilenler çok nadir kullanılır ve bunlar için ayrı bir kod yazılmıyor zaten.

PIC programlayıcı için eğer paran varsa git universal soket bir programlayıcı al derim. yok maddiyat önemliyse orjinal pickit3 yada mikroprog tercih edebilirsin. bunlarda pahalı gelirse yan sanayi pickit programlayıcıları daha ucuza temin edebilirsin.

_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

egegulbahar

@pwm.c , öncelikle uzun uzadıya zaman ayırıp tecrübelerinizi paylaştığınız için çok teşekkür ederim.

Muhtemelen tercihimi 8bit' ten yana kullanacağım çünkü SBC(single basic computer) dediğiniz şeyi arattığımda raspberry pi, arduino gibi en azından benim elektronik bilgimi aşacak kompleks yapılar çıkıyor, tabiri caizse bu dımdızlak atlamak olur ve her şeyi özümsememi zorlaştırır. 8bit sanırım bu işin temeli gibi bir şey çalışma frekanslarına baktığımda şuana kadar kullandığım Arduino işlemcisinden daha hızlı olduğunu gördüm sanırım bu hız hayliyle bana yetecek.SBC' lerde ARM yapısından kaynaklanan çok uçuk rakamlar var sanırım python veya java kullanarak Raspberry ile bir süre işlerimi ARM' ı dolaylı yoldan kullanarak halledebilirim.

Sanırım derleyici seçimini işin içine girmeden anlayamayacağım. Derleyicelerle alakalı yazdığınız bölümde gözüme ilk olarak çarpanlar JAL, HI-TECH, CCS buradaki seçimimi de CCS' den yana kullanıp ilerleyen zamanlarda diğerlerine bakabilirim.Peki sizin alışkanlığınız ne yönde? yani hangisini daha çok kullanıyorsunuz:)

Ayrıca Universal programmer çok tuzlu fiyatlı sanırım onu şimdilik es geçeceğim. Dediğiniz pickit3 programmer daha uygun fiyatlı ve muhtemelende işimi göreceğini tahmin ediyorum. Bahsettiğiniz ürün bu mudur?

---> http://www.robotistan.com/pickit3-mini-pic-programlayici


Teşekkürler




gmngz

Yurtdışı alışveri yaptıysan yada yapmaktan çekinmiyorsan ve beklemek sıkıntı değilse alternatif
https://tr.aliexpress.com/wholesale?catId=0&initiative_id=AS_20170106045342&SearchText=pickit3

egegulbahar

Ek olarak ccs derleyicisini nasıl indirebilirim?

sifirzero

arkadaşlar türkiyeden alın. ucuz malın yahnisi yavan olur düşüncesiyle sakın almayın aliexpresten.ben aldın pişman oldum.kaçtane pic'im gitti.
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir


pwm.c

Alıntı yapılan: egegulbahar - 06 Ocak 2017, 12:39:30
Sanırım derleyici seçimini işin içine girmeden anlayamayacağım. Derleyicelerle alakalı yazdığınız bölümde gözüme ilk olarak çarpanlar JAL, HI-TECH, CCS buradaki seçimimi de CCS' den yana kullanıp ilerleyen zamanlarda diğerlerine bakabilirim.Peki sizin alışkanlığınız ne yönde? yani hangisini daha çok kullanıyorsunuz:)

Ayrıca Universal programmer çok tuzlu fiyatlı sanırım onu şimdilik es geçeceğim. Dediğiniz pickit3 programmer daha uygun fiyatlı ve muhtemelende işimi göreceğini tahmin ediyorum. Bahsettiğiniz ürün bu mudur?

Benim derleyiciden yana şuanki tercihim CCS C yönünde. diğerlerini bırakmış değilim bazen ihtiyaç halinde kullanıyorum ancak önceliğim CCS C oluyor. register kullanmaya alışanlar bu derleyiciye pek iyi bakmaz ama gerektiğinde istediğin registeri eklemek mümkün.

Kaynak bulmak için en iyi ver bu forumun ta kendisi. arama bölümü biraz sıkıntılı samanlıkta iğine aramaya benzer, o nedenle dikkatli olarak ararsan istediğin her bilgiyi bulman mümkün. benim bile daha önceden yazdığım çok sayıda bilgi mevcut.

programlayıcı olarak elimde orjinal pickit3 var ancak bunu dikkatli kullanman gerekiyor. ilk aldığında mplab modunda geliyor. sen başlangış seviyesinde isen eski arayüz programından başlayabilirsin. buradan indir:
http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit3%20Programmer%20Application%20v3.10.zip
bununla ilgili bilgileri yine forumda bulabilirsin. bunun yanında eski pickit2 sürümünüde edinebilirsin ancak yeni üretilen PIC türlerini tanımıyor. bazıları yama ekleyerek kullanıyor ama bu biyere kadar. o nedenle pickit3 alman daha doğru olur. orjinal üretim programlayıcılar dolar krizinden dolayı epey pahalandı. buna yapacak bişey yok. yan sanayi ürünleri ise kullanmadığım için bişey söyleyemem ama kullanan kişilerden tavsiye alabilirsin.
eğer kendi elinde programlayıcı yapmak istiyorsan Brenner diye bişey var. dosyalarını ve indirme linklerini heryerde bulabilirsin. çok verimli bişey değil ama epey iş görüyor.


_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-