Picproje Elektronik Sitesi

DERLEYİCİLER => PIC C => Konuyu başlatan: kaypic38 - 26 Ocak 2012, 23:40:56

Başlık: dsPIC için neden C ?
Gönderen: kaypic38 - 26 Ocak 2012, 23:40:56
Forumlarda, paylaşılan projelerde vs herkes dsPIC için önerilen dil C falan diyor neden dsPIC için dili yani basic olmuyormu makine diliyle assemblyle yazsak olmuyor mu neden C ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: pwm.c - 27 Ocak 2012, 01:13:32
eğer yanılmıyorsam pic basic ve proton basic DsPIC'leri desteklemiyor. sadece mikroelektronikanın basic derleyicisi var diye biliyorum.
asm dili ile yazmak çok daha iyi olur ama yorucudur. 32k hafızayı asm ile doldurmaya çalıştığını bir düşün. bu nedenle sıcak bakılmıyor.
bütün picler için kime sorarsan sana C dili ve CCS derleyicisini önerir. bu biraz satandart hale geldi gibi bişey. basic dili daha kolay olsada işlemciyi verimli kullanmıyor. C ise daha verimli kullanıyor ve asm gibi çok uzun komutlardan oluşmuyor.
nedense bu aralar forumda bir ARM takıntısı var aldı başını gidiyor. iki ayrı pic modelini karşılaştırmaya kalkarsan birileri çıkıp ARM diye yazıp gidiyor. onun için senin DsPIC leride pek beğenmeyeceklerdir ve biri ARM diyebilir haberin olsun.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: skara1214 - 27 Ocak 2012, 01:17:34
Alıntı yapılan: pwm.c - 27 Ocak 2012, 01:13:32
C dili ve CCS derleyicisini önerir
ben ccs c kullanıyorum ve önermiyorum ezbercilik oluyor bir yerde takılıp kalınıyor.(Ben hobi olarak yapıyorum) Ama cidden bu işi ticarete dökmeyi düşünen kişiler kesinlikle ccs c ye yaklaşmasınlar.Micro chipin kendi dilini kullasınlar
Başlık: Ynt: dsPIC için neden C ?
Gönderen: ahfxg - 27 Ocak 2012, 01:37:31
Kimse üzerine alınmasın.

Amatörseniz, hobiciyseniz, işi beceremiyorsanız, basitçi ve kolaycıysanız, derine girmekten korkuyorsanız buyrun: Basic, JAL, CCS..

Bu işi hakkıyla yapacağım, benim ürünlerimde arıza çok zor çıkacak, iki tel saç kıyımına hazırım ben diyorsanız: ANSI C, konu için de C30

ASM için tek bir laf bile etmiyorum böyle bir işlemci için.

Bu dönemde hala bunu tartışmanın anlamı yok!
Başlık: Ynt: dsPIC için neden C ?
Gönderen: BAHAR - 27 Ocak 2012, 04:50:33
Bence programlama dillerini şu iyi yada şu kötü diye aralarında seçim yapmak yanlış olarak düşünüyorum. Yani, programlama dilinin kalitesini belirleyen şey ise programcının kendisidir. Ve bir programlama dili ile program yazarken esnek düşünmek gerekiyor. Basic kötü diyenler var ama basic kendi içinde asm destekliyor ve basic ile yapılan çok güzel projelerde var.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: camby - 27 Ocak 2012, 08:46:20
Alıntı yapılan: ahfxg - 27 Ocak 2012, 01:37:31
Bu dönemde hala bunu tartışmanın anlamı yok!

10 yıl sonra elektronik öğrencisi seri iletişimi öğrenmek için büyük ihtimalle MAX232 ile başlayacak.

10 yıl sonra belki hala mikroişlemciler-1 dersinde 8 bit 16f84 anlatılacak.

O zaman da bu konular tartışılacak , ASM-C tartışmaları olacak , olmak zorunda.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: -Hasan- - 27 Ocak 2012, 08:59:59
Aslında müfredatın değişmesi gerekir, ama öğrenciler isteksiz olup kendilerini geliştirmedikleri sürece bunun bir anlamı olmaz, 16F84 ' e mahkum kalmaya devam ederler.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: camby - 27 Ocak 2012, 09:16:38
Başlangıç için gerekli ama , dspic ile başlasa yada başka bir 32 bit MCU ile başlasa şu dönemde kim ne anlayacak.

Ancak şöyle olur 32 bit MCU ile hoca derse gelir C ile birşeyler yazar , bakın cocuklar buna ne yazarsak yapıo bu kendi der.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: esensoy - 27 Ocak 2012, 11:36:47
Alıntı yapılan: ahfxg - 27 Ocak 2012, 01:37:31
Kimse üzerine alınmasın.

Amatörseniz, hobiciyseniz, işi beceremiyorsanız, basitçi ve kolaycıysanız, derine girmekten korkuyorsanız buyrun: Basic, JAL, CCS..

Bu işi hakkıyla yapacağım, benim ürünlerimde arıza çok zor çıkacak, iki tel saç kıyımına hazırım ben diyorsanız: ANSI C, konu için de C30

ASM için tek bir laf bile etmiyorum böyle bir işlemci için.

Bu dönemde hala bunu tartışmanın anlamı yok!
+1
Başlık: Ynt: dsPIC için neden C ?
Gönderen: zakbay - 27 Ocak 2012, 15:00:10
Alıntı yapılan: ahfxg - 27 Ocak 2012, 01:37:31
Kimse üzerine alınmasın.

Amatörseniz, hobiciyseniz, işi beceremiyorsanız, basitçi ve kolaycıysanız, derine girmekten korkuyorsanız buyrun: Basic, JAL, CCS..

Bu işi hakkıyla yapacağım, benim ürünlerimde arıza çok zor çıkacak, iki tel saç kıyımına hazırım ben diyorsanız: ANSI C, konu için de C30

ASM için tek bir laf bile etmiyorum böyle bir işlemci için.

Bu dönemde hala bunu tartışmanın anlamı yok!

Ben katılmıyorum.
Basic ile yazılan programlar arıza çıkarır diye bir kaide yok.
son 4 yılda projelerimde basic başta olmak üzere ccs ve hitech derleyicilerini kullandım sahaya yüzlerce ürün sürdüm hiçbirisi de geri dönmedi.

Problem algoritmadan kaynaklanır yazılan dilden değil.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: Saruman - 27 Ocak 2012, 16:48:43
Mesele Basic'in hata çıkarması ya da yetersiz kalması değil, sonuçta dsPIC ve türevlerinin kabiliyetleri ve hızları belli, derin işler için üstü örtülü BASIC veya CCS yazmayı mantıklı bulmuyorum.BASIC'teki ( CCS de örnek verilebilir )  yap et git gör komutlarıyla dsPIC i eğlendirmenin manası olduğunu düşünmüyorum.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 27 Ocak 2012, 17:13:18
Alıntı yapılan: pwm.c - 27 Ocak 2012, 01:13:32
eğer yanılmıyorsam pic basic ve proton basic DsPIC'leri desteklemiyor. sadece mikroelektronikanın basic derleyicisi var diye biliyorum.
asm dili ile yazmak çok daha iyi olur ama yorucudur. 32k hafızayı asm ile doldurmaya çalıştığını bir düşün. bu nedenle sıcak bakılmıyor.
bütün picler için kime sorarsan sana C dili ve CCS derleyicisini önerir. bu biraz satandart hale geldi gibi bişey. basic dili daha kolay olsada işlemciyi verimli kullanmıyor. C ise daha verimli kullanıyor ve asm gibi çok uzun komutlardan oluşmuyor.
nedense bu aralar forumda bir ARM takıntısı var aldı başını gidiyor. iki ayrı pic modelini karşılaştırmaya kalkarsan birileri çıkıp ARM diye yazıp gidiyor. onun için senin DsPIC leride pek beğenmeyeceklerdir ve biri ARM diyebilir haberin olsun.

Kimse kusura bakmasın ama bu alıntı yaptığım arkadaş dışında kimse konu ile alakalı en azından tam soruya yönelik bir cevap vermemiş... Benim asıl sormak istediğim dsPIC veya bir PIC32 BASIC ile programlanabilir mi ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: GreeN - 27 Ocak 2012, 17:14:38
ccs c dspic'ler  için tek başına yetersiz. Özellikle dspic'lerin hızlı adc'lerinde asm desteği olmazsa ccs c bir işe yaramaz. Mesela adc modu olarak sequental olarak adc'yi ayarlayamıyorsun. klasik read_adc(); başka bir komut yok. Yada 16 adet değer okunduktan sonra kesme oluşmasını istiyorsun ve 16 ayrı register içerisindeki adc değerlerine asm olmadan ulaşamıyorsun.

Sonuçta evet dspic ve C.  ama bu ccs c değil , kesinlikle Mplab C30 olmalı.  (micro c için birşey diyemeyecem, yada basic için.)
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 27 Ocak 2012, 17:18:02
Alıntı yapılan: GreeN - 27 Ocak 2012, 17:14:38
ccs c dspic'ler  için tek başına yetersiz. Özellikle dspic'lerin hızlı adc'lerinde asm desteği olmazsa ccs c bir işe yaramaz. Mesela adc modu olarak sequental olarak adc'yi ayarlayamıyorsun. klasik read_adc(); başka bir komut yok. Yada 16 adet değer okunduktan sonra kesme oluşmasını istiyorsun ve 16 ayrı register içerisindeki adc değerlerine asm olmadan ulaşamıyorsun.

Sonuçta evet dspic ve C.  ama bu ccs c değil , kesinlikle Mplab C30 olmalı.  (micro c için birşey diyemeyecem, yada basic için.)

Hocam asm desteği olmadan demişsiniz nasıl yani aynı program içinde hem asm hem C mi olacak olabilir mi böyle bir şey ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: Saruman - 27 Ocak 2012, 17:19:58
Elbette olabilir. C kodları arasında ASM gömebilirsiniz.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 27 Ocak 2012, 17:24:19
Nasıl olacak peki C derleyici o ASM komutlarını nasıl derleyecek ? veya ASM derleyicisi C komutlarını nasıl derleyecek ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: GreeN - 27 Ocak 2012, 17:26:34
Alıntı yapılan: kaypic38 - 27 Ocak 2012, 17:13:18
Kimse kusura bakmasın ama bu alıntı yaptığım arkadaş dışında kimse konu ile alakalı en azından tam soruya yönelik bir cevap vermemiş... Benim asıl sormak istediğim dsPIC veya bir PIC32 BASIC ile programlanabilir mi ?

PIC için belli derleyiciler var. proton+ (8 bit),Basic(8 bit) , ccs c ( 8,16,32 bit) , mikroe (c , basic, pascal) (8,16 bit)  , Mplap C18 (18Fxx) , Mplab C30(30Fx , 33Fx , ...) , Hitec C (8 bit)... Bildiklerim bu kadar ...

dsPIC için neden C ?  soru gayet açık olduğu için herkes (bende dahil) derleyicileri karşılaştırmış.

Ama sizin dediğiniz basic ile elde edeceğiniz Makine dili x86 kodları olur sanırım. (yanlış anlamadım umarım.)

PIC'te hiç çalıştınız mı ? En temel dil assembly (asm) kodlarını incelediniz mi?

Başlık: Ynt: dsPIC için neden C ?
Gönderen: GreeN - 27 Ocak 2012, 17:28:28
Alıntı yapılan: kaypic38 - 27 Ocak 2012, 17:24:19
Nasıl olacak peki C derleyici o ASM komutlarını nasıl derleyecek ? veya ASM derleyicisi C komutlarını nasıl derleyecek ?


Hemen hemen her PIC derleyicisi destekler asm kodlarını c kodlarını arasına yerleştirmeyi

ccs c için misal;

#asm
asm kodları
#endasm

C kodları ile zaten önce asm kodları üretilir sonra makina dili üretilir.

gibi...
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 27 Ocak 2012, 17:31:06
Evet zaten şu an asmmbly çalışıyorum 35 komutuda biliyorum (yani usta değilim sadece birer örnek ile mantığını anladım) ve zaten 6 7 ay önce başladım PIC programlamaya daha 16f628a yı yeni yeni bitiriyorum sadece merak ettim aslında ben 2 ay sonra bir PIC kursuna gideceğim kurs hocam BASIC ci mecburen basic öğreneceğim yani basic dili ile her şeyi yapabilirmiyim ? (dsPIC ve 32 bit MCUlar bu işin şu anda en üst düzeyi olduğu için sordum)
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 27 Ocak 2012, 17:32:45
Alıntı yapılan: GreeN - 27 Ocak 2012, 17:28:28

Hemen hemen her PIC derleyicisi destekler asm kodlarını c kodlarını arasına yerleştirmeyi

ccs c için misal;

#asm
asm kodları
#endasm

C kodları ile zaten önce asm kodları üretilir sonra makina dili üretilir.

gibi...

Hocam çok teşekkürler bu bilgi çok işime yarar gibi... peki aynısını jal pascal basic gibi dillerde de yapabilirmiyim ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: GreeN - 27 Ocak 2012, 17:38:07
Alıntı yapılan: kaypic38 - 27 Ocak 2012, 17:31:06
Evet zaten şu an asmmbly çalışıyorum 35 komutuda biliyorum (yani usta değilim sadece birer örnek ile mantığını anladım) ve zaten 6 7 ay önce başladım PIC programlamaya daha 16f628a yı yeni yeni bitiriyorum sadece merak ettim aslında ben 2 ay sonra bir PIC kursuna gideceğim kurs hocam BASIC ci mecburen basic öğreneceğim yani basic dili ile her şeyi yapabilirmiyim ? (dsPIC ve 32 bit MCUlar bu işin şu anda en üst düzeyi olduğu için sordum)

Usta , basic ile önün kapalı bence , o kursa para verme diyecem ama demiyorum bir yerden başlamak lazım değil mi? !!! Sanırım sende bunu sorguluyorsun. Neden C , basic bir yerde yetersiz mi kalıyor. Eğer programlama konusunda temeliniz yoksa güzel bir kurs olur. Ama zaten bir şekilde c , basic biliyorsanız , programlama yeteneğiniz varsa ....

Başlık: Ynt: dsPIC için neden C ?
Gönderen: Saruman - 27 Ocak 2012, 17:38:42
Basic'te
        ASM
.
.
.
.

        ENDASM

şeklinde kullanılıyor. JAL bilmem.


Başlık: Ynt: dsPIC için neden C ?
Gönderen: GreeN - 27 Ocak 2012, 17:40:00
Alıntı yapılan: kaypic38 - 27 Ocak 2012, 17:32:45
Hocam çok teşekkürler bu bilgi çok işime yarar gibi... peki aynısını jal pascal basic gibi dillerde de yapabilirmiyim ?

Saydıklarının hiç birini kullanmadım . Ama CCS C , Microe C , Mplab Cxx ... Bunlarda olduğunu biliyorum.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: berat23 - 27 Ocak 2012, 17:40:42
Alıntı yapılan: -Hasan- - 27 Ocak 2012, 08:59:59
Aslında müfredatın değişmesi gerekir, ama öğrenciler isteksiz olup kendilerini geliştirmedikleri sürece bunun bir anlamı olmaz, 16F84 ' e mahkum kalmaya devam ederler.

müfredat böyle olmak zorunda.sıfırdan öğrenilirken i7 ile öğrenmeyi beklemeyin güncel diye.zaten bir işlemci baştan öğrenen için yeterince kompleksken dahada kompleksleştirmeye hiç gerek yok.öğrenciler sonradan istediklerini öğrenebilir,tutan yok.

bu dediklerim mühedislik için geçerli.yüksek seviyeli dillerle al ver böl çarp diye basit program yazmak mühendislik işi değildir.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 27 Ocak 2012, 17:47:57
Hocam zaten farkındayım BASİC le pek ileri gidemeyeceğimin benim mikrodenetleyici dünyasına gizmemi sağlayan bana yol gösteren (ALLAH razı olsun) hocam da BASICciydi demişti yetersiz kalıyor bazen diye galiba C öğrenmem lazım birde bu ccs c, c++, c sharp, c30 falan bunlar sadece derleyici isimleri mi yoksa komutları farklı olan temeli aynı olan dil türleri mi ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: GreeN - 27 Ocak 2012, 18:24:49
Alıntı yapılan: kaypic38 - 27 Ocak 2012, 17:47:57
Hocam zaten farkındayım BASİC le pek ileri gidemeyeceğimin benim mikrodenetleyici dünyasına gizmemi sağlayan bana yol gösteren (ALLAH razı olsun) hocam da BASICciydi demişti yetersiz kalıyor bazen diye galiba C öğrenmem lazım birde bu ccs c, c++, c sharp, c30 falan bunlar sadece derleyici isimleri mi yoksa komutları farklı olan temeli aynı olan dil türleri mi ?

ccs C ve C30 PIC için için özel hazırlanmış derleyicilerdir. c++ , C# vs.. ise PC için yazılım hazırlamakta kullanılan derleyicilerdir. pic için kullanılan C temelli diller de temel yapılar, işleyiş , terimler , tanımlamalar vs.. genelde aynı. Ama farklı firmaların PIC'e ait register , pin , çevre birimlerin isimlendirmeleri farklılıklar arzediyor.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 27 Ocak 2012, 22:43:23
Yani ben C mantığını anlasam (hiç çalışmadım ama ordan burdan kulak aşinalığı) for düngüsü cart curt herneyse kısacası C dilini öğrensem tüm derleyicileri rahatlıkla kullanırım öyle mi?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: 94220039 - 27 Ocak 2012, 22:51:22
dsPIC30f2020 kullanıyorum ve programın tamamını assembly ile yazıyorum.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 27 Ocak 2012, 22:55:26
Senin ALLAH'ına kurban :) hocam zor olmuyor mu ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: ahfxg - 27 Ocak 2012, 23:38:53
Alıntı yapılan: 94220039 - 27 Ocak 2012, 22:51:22
dsPIC30f2020 kullanıyorum ve programın tamamını assembly ile yazıyorum.

Bu işlemci güç elektroniği için özelleştirilmiş bir mikroişlemcidir. Dolayısı ile mikrosaniyeler bile sizin için önemlidir. Ondan ASM'de yazmanız kabul edilebilir fakat programın hepsi mi! Yok artık!
Yarın o programı daha güçlü bir güç elektroniği entegresine taşımak istediğinizde ne yapacaksınız? Tekrar oturup baştan mı uğraşacaksınız. Konuşmaya bile gerek yok dediğim olay buydu.

Anlamayanlar için şöyle diyeyim sonra sesini yükseltenler çıkmasın. İşten anlayanlar bilecektir, güç elektroniği demek kontrol demektir. Şimdi bu arkadaşımız bir PID kontrol hazırladı. ASM'de. Yarın patron dedi ki bu işlemci eski teknoloji ya da arkadaş dedi ki bunun hızı bizi kesmiyor artık. Hem ucuz hem uçan işlemciler var onlara geçiyoruz dediniz. Napacaksınız?

ANSI C'de biz genellikle kopyala yapıştırı tercih ediyoruz. Zaman kaybı: 0.4ms
ASM'cilere soruyorum, sizin bir PI bloğunu bir işlemciden başka bir işlemciye almanız kaç saniye pardon gün alacaktır?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: 94220039 - 28 Ocak 2012, 08:31:58
Alıntı yapılan: ahfxg - 27 Ocak 2012, 23:38:53
ASM'cilere soruyorum, sizin bir PI bloğunu bir işlemciden başka bir işlemciye almanız kaç saniye pardon gün alacaktır?


Çok güzel bir soru. Bırakın bir PI bloğunu, Normal Basit program parçalarını dahi bir işlemciden diğerine taşımak günler alabiliyor.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: jackal183 - 28 Ocak 2012, 11:44:23
microC ile hiç çalıştınız mı bilmiyorum(ben de çalışmadım ama sadece gördüm). MicroC şu an pic yada DsPic programlama için en uygun ve en güzel derleyici gibi göründü benim gözüme. Çünkü MicroC içerisinde hem MpLab hem de CCS C var gibi.

CCS C'nin hazır fonksiyonları vardır, bunlarla rahatça program yazar çalıştırırsınız ancak arka planda ne gibi işlemler yürüdüğünü bilmezsiniz sizi ilgilendirmez, ancak bunları bilmeden de mühendis, programcı yazılımcı vs. olamazsınız, illa ki bir gün bir yerde kitlenir kalırsınız.

MpLab: CCS C gibi hazır fonksiyonları yoktur. bütün register atamalarını ayarlamarını herşeyini kendiniz yaparsınız. Yani arka planda ne oluyor ne bitiyor çok iyi bilirsiniz, hatta CCS C deki gibi kendinize hazır fonkisyonlar yazar, bir kütüphane oluşturur burdan çalışırsınız.

MicroC: içerisinde hem Mplab'ı hem de CCS C yi barındırır. CCS C gibi hazır fonkisyonları vardır, bunları çağırır yazarsınız programınızı, aynı zamanda da registerlara tıpkı MpLabdaki gibi erişip istediğinizi yaparsınız.

ulan sanki MicroC satış bölümü çalışanı gibi konuşmuşum :)
Başlık: Ynt: dsPIC için neden C ?
Gönderen: ByTEK - 28 Ocak 2012, 12:27:06
Alıntı yapılan: silvercopper - 27 Ocak 2012, 17:38:42
Basic'te
        ASM
.
.
.
.

        ENDASM

şeklinde kullanılıyor. JAL bilmem.


Tek komut için :

asm asm_komutu

birden fazla satır için :

Assembler
<Assembler komutları>
<Assembler komutları>
<Assembler komutları>
.
.
End Assembler

Jalda bu şekilde. ama şuanlık Jal sadece 8 bit PIC'ler için program derliyor. dsPIC gibi gelişmiş bir denetleyiciyinin programlamasında ASM kullanılır ama bence hamallık olur. onun yerine her yere girmiş olan C dili programlamak daha mantıklı.. hem örnek sıkıntısı çekmezsin hemde kaynak..
Başlık: Ynt: dsPIC için neden C ?
Gönderen: skara1214 - 28 Ocak 2012, 18:39:56
Alıntı yapılan: jackal183 - 28 Ocak 2012, 11:44:23
MicroC: içerisinde hem Mplab'ı hem de CCS C yi barındırır. CCS C gibi hazır fonkisyonları vardır, bunları çağırır yazarsınız programınızı, aynı zamanda da registerlara tıpkı MpLabdaki gibi erişip istediğinizi yaparsınız.
ccs dede registerleri kendin tanımlayıp işlem yapabiliyorsun.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: ahfxg - 28 Ocak 2012, 19:25:17
Hala CCS C'de register kontrol edilebiliyor deniyor. Nasıl, adreslerini siz verirseniz. Ben ne anladım o derleyiciden o zaman!?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: skara1214 - 28 Ocak 2012, 20:45:29
Benim söylediğim şey yapılabilirlik,isteyen yapar istemeyen bu nasıl derleyici der gider başkasını kullanır
Başlık: Ynt: dsPIC için neden C ?
Gönderen: jackal183 - 28 Ocak 2012, 21:46:33
evet erişim var ama ahfxg'nin de dediği gibi adresini sen verirsen var, bu da işi daha da zor kılıyor
Başlık: Ynt: dsPIC için neden C ?
Gönderen: skara1214 - 28 Ocak 2012, 21:57:40
yani zor olan kısım ne datasheete açıp registerin adını searche yazıyorsunuz sonra sırası ile bakıyorsunuz orada register mapten adresi alıyorsunuz eğer register 8 bitse #byte xx=0xff yok register 16 bitse  #word xx =0xff yazıyorsunuz bu zorsa o zaman hiç arkadaşın dediği dilleri kullanmayın
Başlık: Ynt: dsPIC için neden C ?
Gönderen: tyildizak - 29 Ocak 2012, 01:01:48
Alıntı yapılan: ahfxg - 28 Ocak 2012, 19:25:17
Hala CCS C'de register kontrol edilebiliyor deniyor. Nasıl, adreslerini siz verirseniz. Ben ne anladım o derleyiciden o zaman!?


Diğer c derleyicilerde de adres tanımı yapılıyor, ha programın başında yazmışsınız, ha ayrı bir .h dosyasında. değişen nedir?

hi-tec'teki gibi bir pic.h dosyası hazırlamak zor değil ki.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: XX_CİHAN_XX - 29 Ocak 2012, 01:32:27
Hangi C derleyicisini kullandığınız çok önemli değil. Önemli olan mümkün olduğunca ANSI C standardına uygun ve taşınabilir niteliklere sahip kodlar yazmanızdır. Dikkatli bir şekilde kod yazıldığı sürece CCS C ile bunu yapmakta mümkündür.


ANSI compatible C compiler
The CCS C compiler supports the Microchip PIC12x, PIC16x, PIC18x, and dsPIC devices.
The compiler is very close to being 100% ANSI compatible.

http://www.microchipc.com/reviews/CCS_C/
Başlık: Ynt: dsPIC için neden C ?
Gönderen: ahfxg - 29 Ocak 2012, 02:45:37
O halde bana tüm işlemciler için gerekli .h structer kodlarını hazırlayıverin çok zor değilse?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: Saruman - 29 Ocak 2012, 09:12:23
Alıntı yapılan: ahfxg - 29 Ocak 2012, 02:45:37
O halde bana tüm işlemciler için gerekli .h structer kodlarını hazırlayıverin çok zor değilse?

Siz bu işi gerçekten öğrenmek istediğinize emin misiniz? Yani bu basic ya da jal değil, oturup doğru dürüst çalışmayacaksanız dsPIC 'e bulaşmayın, C'yi de BASIC türevlerine indirgemeye çalışmayın, header dosyalarını nette her yerde bulabilirsiniz, başkasına hazırlatıp içeriğiyle ilgilenmeyecekseniz sizi ancak ARDUINO paklar.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 29 Ocak 2012, 10:23:12
Hocam geçende böyle oldu fikir çatışmaları hep oluyor aslında benim gibi bilmeyenler acemiler için bu tartışma kıvamında verdiğiniz bilgiler çok işe yarıyor şimdi hocamın da dediği gibi bir yerden başlamak gerekir ben ASM biliyorum fakat gerçekten zor oluyor şimdiden bile benim 200 300 satırda yaptığım işlemi bakıyorum adam C de 10 15 bilemedin 20 satırda yapmış farkındayım devir C devri ama ben basicden başlayıp kendimi geliştirip fazla kapılmadan C ye geçmek istiyorum peki C ye geçişin ilk basamağı olarak neyi tavsiye edersiniz ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: XX_CİHAN_XX - 29 Ocak 2012, 10:46:28
Alıntı yapılan: kaypic38 - 29 Ocak 2012, 10:23:12
Hocam geçende böyle oldu fikir çatışmaları hep oluyor aslında benim gibi bilmeyenler acemiler için bu tartışma kıvamında verdiğiniz bilgiler çok işe yarıyor şimdi hocamın da dediği gibi bir yerden başlamak gerekir ben ASM biliyorum fakat gerçekten zor oluyor şimdiden bile benim 200 300 satırda yaptığım işlemi bakıyorum adam C de 10 15 bilemedin 20 satırda yapmış farkındayım devir C devri ama ben basicden başlayıp kendimi geliştirip fazla kapılmadan C ye geçmek istiyorum peki C ye geçişin ilk basamağı olarak neyi tavsiye edersiniz ?
@kaypic38,
C ye nerden başlamalıyım, hangi C dilini kullanmalıyım, En iyi kaynak hangisi gibi konular forumda çok konuşuldu. Bu konuda forumu biraz araştırırsanız her konuda bilgi elde etmenizi sağlayacak kadar içerik forumda mevcuttur.
Kendi fikrimi sorarsanız sonunda C ye geçmeyi düşündüğünüze göre basic ile zaman kaybetmeyin.
ASM yide belli bir seviyeye gelene kadar ilerletip direk C ye geçin.
Bir adet Standart ANSI C kitabı edinin ve okuyun. Sonrası zaten çorap söküğü gibi gelecektir.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: ahfxg - 29 Ocak 2012, 11:11:05
Alıntı yapılan: silvercopper - 29 Ocak 2012, 09:12:23
Siz bu işi gerçekten öğrenmek istediğinize emin misiniz? Yani bu basic ya da jal değil, oturup doğru dürüst çalışmayacaksanız dsPIC 'e bulaşmayın, C'yi de BASIC türevlerine indirgemeye çalışmayın, header dosyalarını nette her yerde bulabilirsiniz, başkasına hazırlatıp içeriğiyle ilgilenmeyecekseniz sizi ancak ARDUINO paklar.

Yıllardır C ile bir çok işlemciye program yazıyorum. Basic'miş Arduino'muş böyle saçma şeylerin yüzüne bile bakmam!
Arkadaş header dosyalarının çok kolay hazırlanacağını söylemiş. Sadece Pic tarafında binlerce işlemci var. Bu işlemcilerin hepsinin binlerce registeri var. Yazılabiliyor mu yazılamıyor mu arkadaş uğraşsın diye dedim. Yoksa üreticilere boşuna binlerce dolar verip derleyicilerini alıyoruz sanırım.

Arkadaşın yapması gereken şu, sıfırdan mikrodenetleyiciye başlayacaksa, ASM'yi nedir, ne değildir, nasıl yazılırmış kıvamında bir buton okuma, bir seven segment sürme, bir adet seri haberleşme yapıp direk C'ye geçilmeli.

Programcı olacağım diyorsa bir kişi kullanacağı araç ANSI C, geliştireceği yönü algoritmalar olacaktır.

Forumda bir çok deneyimli kullanıcı hangi derleyiciyi, hangi dili kullanıyormuş bunlara bakıp sonuca ulaşın. Ben sayayım bildiklerimi

bunalmis: ANSI C
allegro   : ANSI C
FxDev    : ANSI C
Fatihinanc: ANSI C
Barissamanci : ANSI C
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 29 Ocak 2012, 11:28:36
@XX_CİHAN_XX,
Hocam Standart ANSI C kitabı dedinizde yaptığım araştırmalarda bulabildiğim yani kitap halinde getittirebileceğim tek yayın serdar çiçek ccs c açıkcaası ccs c  şöyle kotö ANSI C böyle iyi deyip duruyorlar belliki ANSI C daha iyi nerden bulabilirim bu dil hakkında kitap ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: Tagli - 29 Ocak 2012, 11:33:37
Pek alıp incelemişliğim yok ama piyasadaki en popüler C kitaplarından biri Deitel'inki.
http://www.idefix.com/kitap/c-ve-c-harvey-m-deitel/tanim.asp?sid=V4AJKSCQEC5C8NJ8T0Y7

İngilizce konusunda sorunun yoksa, çevirisini değil İngilizce versiyonunu almanı öneririm. Burada bahsedilmesi pek uygun olmayacak kaynaklardan sanal olarak da temin edilebilir. Genelde bu durumda İngilizce'lerini bulmak daha kolay oluyor.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 29 Ocak 2012, 11:50:08
Tagli hocam bu kitap normal C anlatıyor bence PIC programcısı için hiç faydalı değil çünkü PIC mantığı ile birlikte anlatılmıyordur büyük ihtimal... Malesef dediğiniz gibi ingilizce sorunum var sırf Elektronikte kendimi geliştirmek için yazın ingilizce kursuna gideceğim ingilizce eksiği yüzünden düzgün data sheet bile okuyamıyorum fakat şu an türkçe kaynaklara ihtiyacım var.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: XX_CİHAN_XX - 29 Ocak 2012, 12:04:22
Şuan için PIC C yi unutmalısın. Bu konuda sağlam adımlarla ilerlemek ve kaliteli kodlar yazmak istiyorsan önce Tagli' nin da anlatmaya çalıştığı gibi Standart C dilini çok iyi bir şekilde öğrenmelisin.

İşte sana bir sürü türkçe kaynak.
http://rapidshare.com/files/53355257/C_Dili.rar.html

Kolay gelsin.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: M_B - 29 Ocak 2012, 12:06:13
Merhaba kaypic38,
Taglı hocanın onermiş oldugu (ve bir çok kişinin onerdiği kitap ) standart C yi anlatıyor.
C de program yazmak için önce C nin yapısını ogrenmeniz lazım. onerilen kitaplarda belli bir bolume gelene kadar pic ten alakasız C ye calısmanız gerekiyor. Belli bir seviyeden sonnra ikisini aynı anda goturebilirsiniz.
en azından C de fonksiyon bolumune kadar çalışmanız lazım daha sonra bir cok örnekleri incelediğinizde bazı şeyler daha iyi oturacaktır.


Altaki iki kaynak fazlasıyla işinize yarar.
kolay gelsin.


https://www.picproje.org/index.php/topic,35720.0.html
http://www.kadifeli.com/fedon/stdcprtr.php      Cok guzel bir C kaynak kitabı.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: JKramer - 29 Ocak 2012, 13:54:55
Alıntı yapılan: ahfxg - 29 Ocak 2012, 02:45:37
O halde bana tüm işlemciler için gerekli .h structer kodlarını hazırlayıverin çok zor değilse?
Alıntı yapılan: JKramer - 25 Ağustos 2011, 14:54:58
https://www.picproje.org/index.php/topic,34076.msg238850.html#msg238850
Kesinlikle katılıyorum. Öyle bir hava oluşturuluyor ki, sanki bu derleyici insanların kafasına silah dayayıp zorla "output_b ya da input_c 'yi kullanacaksın, başka yolu yok" diyor. İster derleyicinin bu tip gömülü fonksiyonlarını kullanırsınız ister doğrudan register'ların isimlerini kullanırsınız. Ben output_b yazdığımda derleyici arka planda ne yapıyor bilmiyorum ki diyenler de bir zahmet .lst dosyasına bakıversin.

Şimdi de "ben bütün register'ları tek tek tanımlamak zorunda mıyım?" diyenler olacaktır, onları da kırmayalım: CCS ide'sini açın. Tools-->Device editor e tıklayıp register dosyası oluşturmak istediğiniz mikrodenetleyiciyi seçin. Sağ tarafta "make include file" seçeneğini tıklayın. Burada istediğiniz tercihleri (structure ya da her bir bit'i ayrı ayrı tanımlama gibi) yaptıktan sonra oluşturulacak dosya yolunu belirleyip "Generate" e tıklayın. (sadece komut satırlı olanı kullanıyorsanız evinizde ide'yi kurup bir kereliğine register dosyalarını alabilirsiniz.)

Derleyici bir araçtır, aracı nasıl kullandığınız sizi ilgilendirir. Eğer sizin; kullandığınız mikrodenetleyicideki birimlerin nasıl çalıştığını, ayarlarının nasıl yapıldığını öğrenmeye niyetiniz yoksa ha derleyiciyle gelen kütüphaneleri kullanmışsınız ha nette başkaları tarafından yazılmış kütüphaneleri kopyalamışsınız, bir fark yok.
Sırf bunun için 400-500 $ fazladan verecekseniz ben 10 dakikamı ayırıp size header dosyalarını çıkartayım; maksat para ülke içinde kalsın :).
Başlık: Ynt: dsPIC için neden C ?
Gönderen: ahfxg - 29 Ocak 2012, 14:25:04
Ben derleyici aldığımda bunu bile yapmak istemem, datasheette ne yazılıyorsa onun olmasını isterim de neyse. Bunu atlattık diyelim, dünyada sadece 1 tane mi işlemci var? Microchip'in ürettiği C derleyicisi varken neden başka şirketlerin ürettiklerini kullanayım ki?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: tyildizak - 29 Ocak 2012, 15:51:00
Alıntı yapılan: JKramer - 29 Ocak 2012, 13:54:55
Sırf bunun için 400-500 $ fazladan verecekseniz ben 10 dakikamı ayırıp size header dosyalarını çıkartayım; maksat para ülke içinde kalsın :).


+1 :)
Başlık: Ynt: dsPIC için neden C ?
Gönderen: fahri- - 30 Ocak 2012, 11:31:33
Alıntı yapılan: ahfxg - 29 Ocak 2012, 14:25:04
Microchip'in ürettiği C derleyicisi varken neden başka şirketlerin ürettiklerini kullanayım ki?
Bu cümleniz çok doğru gibi görünse de pratikte bu böyle değil. Kendi derleyicisi en iyi olsaydı microchip hi-tech i satın almazdı.
Başlık: Ynt: dsPIC için neden C ?
Gönderen: kaypic38 - 30 Ocak 2012, 22:43:51
Hepinizden ALLAH razı olsun değerli hocalarım ( Türk filmi kıvamında oldu :) ) bu siteyi gerçekten seviyorum çok duyarlı bilgili insanlar var hocam son bir soru sormak istiyorum standart C için verdiğiniz kaynaklar çok güzel peki o aşamadan sonra ANSI C için Türkçe (kitap halinde olursa daha iyi olur) tavsiye edebileceğiniz şöyle güzel bir kaynak var mı ?
Başlık: Ynt: dsPIC için neden C ?
Gönderen: ilhan_mkp - 01 Mart 2012, 23:55:56
konunun üzerinden biraz zaman geçmiş ama ustaların yorumlarını toparlayacak olursak.
programcılık yapacağım diyorsan ansi c öğrenmelisin peki ya neden? sorusunu biraz açmak gerek
datasheetleri iyi yorumlayıp program yazmakta bir yerde yetersiz kalıyor.
kodun başka bir işlemciye taşınması ihtiyacı çok karşılaşılan bir durum.
kodunu taşıyamadığın bir c derleyicisinin basicten hiçbir farkı yok desek yeridir.
birde kendine özel komutları olan bir c kullandın özel komutlarıda kullandın taşıman gerkti.
bence taşıyamadığın c basic'tir daha türkçesi basittir.

ciddi anlamda kod yazacağım diyorsan derleyicileri basit bir ayrıntı olarak ele almalısın.

öylesine kod yazacağım dersen mikroişlemci dünyası çok ama çok seçenekli bir kaç kod örneği basic ile
basic'te pbp ve proton'dan ibaret değil bunu unutmamakta fayda var.

mesela basictede fonksiyon yazarsın bascomun samplelerinden bir örnek

$regfile = "m48def.dat"                                     ' we use the M48
$crystal = 8000000
$baud = 19200

$hwstack = 32
$swstack = 16
$framesize = 24


'A user function must be declare before it can be used.
'A function must return a type
Declare Function Myfunction(byval I As Integer , S As String) As Integer
'The byval paramter will pass the parameter by value so the original value
'will not be changed by the function

Dim K As Integer
Dim Z As String * 10
Dim T As Integer
'assign the values
K = 5
Z = "123"

T = Myfunction(k , Z)
Print T
End


Function Myfunction(byval I As Integer , S As String) As Integer
  'you can use local variables in subs and functions
  Local P As Integer

  P = I

  'because I is passed by value, altering will not change the original
  'variable named k
  I = 10

  P = Val(s) + I

  'finally assign result
  'Note that the same data type must be used !
  'So when declared as an Integer function, the result can only be
  'assigned with an Integer in this case.
  Myfunction = P
End Function


basic içine asm yazabilirsin hatta kendi çapında rtosta hoş olabilir.
rtos örnek linki  http://www.mcselec.com/index.php?option=com_content&task=view&id=70&Itemid=57 (http://www.mcselec.com/index.php?option=com_content&task=view&id=70&Itemid=57)

birparçada koda eklenmiş asm

For Current_task = 1 To Nbr_tasks 'Cycle through robin around fashion
If Task_status(current_task) <> 0 Then 'Waiting for something ?
Goto Scheduler_next 'YES, waiting for something
Else 'Prepare Return = resume address
Work_byte = Task_resume_2(current_task) 'Look sharp, reverse order
$asm
lds r16,{work_byte}
push r16
$end Asm
Work_byte = Task_resume_1(current_task) 'Look sharp, reverse order
$asm
lds r16,{work_byte}
push r16
$end Asm
End If 'Simmple
Return



şimdi bu örnekleri neden verdim başka bir işlemciye taşıyamadığın her işi basiclede yaparsın hatta c kullanıyorum dünya kullanıyo rehavetine kapıldığında aynı işi basic ile yapan birinden daha başarısız işler çıkrtmanda olasılık.

ne dedik algoritma kurmakta çok önemliydi kuralım
ben basic kullanıyorum
sen c kullanıp kodunu taşıyamıyorsan benden bir farkın yoktur ve programcı değilim  ;D