dsPIC için neden C ?

Başlatan kaypic38, 26 Ocak 2012, 23:40:56

94220039

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.

jackal183

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 :)

ByTEK

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..

skara1214

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.
Herkes ölür ama herkes gerçekten yaşamaz

ahfxg

Hala CCS C'de register kontrol edilebiliyor deniyor. Nasıl, adreslerini siz verirseniz. Ben ne anladım o derleyiciden o zaman!?
Erkeklerin dünyasına başkaldıran bayan mühendis..

skara1214

Benim söylediğim şey yapılabilirlik,isteyen yapar istemeyen bu nasıl derleyici der gider başkasını kullanır
Herkes ölür ama herkes gerçekten yaşamaz

jackal183

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

skara1214

#37
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
Herkes ölür ama herkes gerçekten yaşamaz

tyildizak

#38
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.

XX_CİHAN_XX

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/
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ahfxg

O halde bana tüm işlemciler için gerekli .h structer kodlarını hazırlayıverin çok zor değilse?
Erkeklerin dünyasına başkaldıran bayan mühendis..

Saruman

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.

kaypic38

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 ?
Bir şeyi gerçekten öğrenmek, yapmak istiyorsan o şeyi yapmışsın, öğrenmişsin demektir...

XX_CİHAN_XX

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.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ahfxg

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
Erkeklerin dünyasına başkaldıran bayan mühendis..