Merhaba arkadaşlar,
CCS C mikrodenetleyici kaynak kodlarını nerden bulabilirim?
Örneğin diyelim ki ben 16Fxx mikrodenetleyiciyi kullanıyorum.
Bunun 16Fxx.h header dosyası var.
Peki 16Fxx.c dosyasını bulabilir miyim?
Yada şöyle diyeyim 16Fxx.h dosyasındaki fonksiyonların kodlarını görebilir miyim?
KEIL, EmBitz gibi arm denetleyicilerde buna izin veriyorlar. Yani tamamen açık kaynak kodlu çalışıyorlar.
CCS C de açık kaynak kodlu çalışıyor mu?
İyi çalışmalar.
C:\Program Files (x86)\PICC\Examples
veya
C:\Program Files\PICC\Examples
buradan hangi örneği incelemek istiyorsan açıklanmış.
Alıntı yapılan: omereliusuk - 13 Ocak 2018, 14:04:59
C:\Program Files (x86)\PICC\Examples
veya
C:\Program Files\PICC\Examples
buradan hangi örneği incelemek istiyorsan açıklanmış.
Teşekkür ederim.
Onu bende biliyorum. Benim istediğim orada kullanılan fonksiyonların kodlarını görmek.
Örneğin read_adc() diye bir fonksiyon var. Ben bu fonksiyonun arkasında işlenen kodları görmek istiyorum.
Şöyle,
void read_adc(){
...
...
...
}
iyi çalışmalar.
önce compile edersiniz. arkasından compile bölümünün en sonunda (EN SAĞ tarafında)
C/ASM List
şeklinde gösterilen bir buton var. orada neler yaptığını açıklıyor.
O halde buyurun XC ye.
//------------------------------------------------------------------------------
//
void initADC(void)
{
ADCON0bits.ADFM = 0b1; //Right
ADCON0bits.VCFG = 0b0; //Vref = Vdd
ANSELbits.ADCS = 0b111; //Frc
ANSELbits.ANS = 0b0011;//an0 ve an1 secili
}
//------------------------------------------------------------------------------
//
uint16_t analogOku(uint8_t kanal)
{
uint8_t sec = 0;
sec = kanal;
//if(kanal > 1) sec = 0;
ADCON0bits.ADON = 0b1; // analog çevrimi baslat
ADCON0bits.CHS = sec; // kanal sec 1, 2, 4, 8
__delay_us(20); // akustik zamanını bekle
ADCON0bits.GO_nDONE = 1; //çevrim bitene kadar bekle
while(ADCON0bits.GO_nDONE);
ADCON0bits.ADON = 0b0; // adc çevrimi kapat
return (ADRESH << 8) + ADRESL;
}
Pek fonksiyonel değil bu kodlar ama bana yetiyor.
Gerektiği şekilde düzenliyorum kendimce.
Merhaba.
Ccs c açıkken f1e bas. Yardıma gir. Bütün komutlar teferruatı ile orda var. Print komutunu kullanırken hala ara ara bakarım.
Hem görebilirsin, hem göremezsin
Eğer kütüphane gerektiren fonksiyon ise görebiliyorsun,
örneğin "lcd.c" kütüphanesindeki "lcd_init();" fonksiyonunun
hangi adımlarla neler yaptığını, lcd.init kütüphane dosyasını açıp görebilirsin,
ama
bahsettiğin read_adc(); gibi, derleyici fonksiyonlarını tam olarak göremezsin,
ancak,
derleyici fonksiyonlarının (bahsedildiği gibi) ASM karşılığını c/asm list den inceleyebilirsin,
tabiki
bu asm list de örneğin ADCON registerını, CcsC,
kullandığın o mcu ya karşılık gelen register adresiyle kullandığı için
pek bir şey anlamak mümkün değildir,
verilen XC örneğindeki gibi anlaşılır bir şey çıkmaz ASM list den.
Amaç read_adc gibi fonksiyonları kendin yazmak veya anlamak ise
CcsC den kopya çekmek zordur,
ama MAPLABX in XC8, XC16, XC32 derleyicilerinden feyz almak çok kolay olur.
Xc8 de Ctrl tuşuna basarak fonksiyonun ismine tıklayınca fonksiyonun tanımlandığı yere gidiyor.
Ccsc ve mikroc başlangıç için güzel fakat ama arkaplandaki kodlara pek hakim olamıyorsun
Ccsc de hersey ayen beyan açik net.
@serkancetin @mehmet 'in yazdığı init adc ve read adc fonksiyonlarının
CcsC deki karşılığını verebilir misin,
ne kadar ay
an beyan görelim.
Kutuphaneler ve dll var demek istedim.
Kıymetli yöneticilerim. Mümkünse konuyu silelim. Yine benim derleyicim senin derleyicini döver noktasına geldik. Bu tür değerlendirmeler bu forma yakışmıyor
@omereliusuk öyle bir durum yok nereden çıkarıyorsun,
zaten kullandığım IDE yi derleyiciyi kötülüyorum.
Ben alışkanlıktan ötürü CcsC kullanıyorum, birde ASM
varsa bir yöntem görelim, öğrenelim
yoksa olmayan şeye var deyip
yanlış bilgi vermiş oluruz.
Kime ne her hangi bir derleyiciden,
kullanıyorum ben yapmadımya :)
işimi ne yarıyorsa ve kullanabiliyorsam onu kullanırım,
herkes bu durumda zaten.
Alıntı yapılan: RaMu - 15 Ocak 2018, 07:57:30
@omereliusuk öyle bir durum yok nereden çıkarıyorsun,
zaten kullandığım IDE yi derleyiciyi kötülüyorum.
Ben alışkanlıktan ötürü CcsC kullanıyorum, birde ASM
varsa bir yöntem görelim, öğrenelim
yoksa olmayan şeye var deyip
yanlış bilgi vermiş oluruz.
Kime ne her hangi bir derleyiciden,
kullanıyorum ben yapmadımya :)
işimi ne yarıyorsa ve kullanabiliyorsam onu kullanırım,
herkes bu durumda zaten.
++1 ;)
aynen
Kişilere hitap ve forumun amacına hizmet etmesi açısından genel sohbette
@Teğmen in başlattığı bir sohbet var.
https://www.picproje.org/index.php/topic,71666.0.html
Forumdaki kimseyi şahsen tanımıyorum. Kişisel bir niyetim de yok. Bazı arkadaşların uslüp konusunda biraz daha centilmen olması gerektiğini düşünüyorum. Herkesin bildiği, tecrübe ettiği konular vardır. Maksat faydalı olmaksa amenna ama bildiğiyle hava atmak yada laf yarıştırmaksa kusura bakmayın yeri burası değil. Forumda yeniyim. Bişeyler öğrenmeye ve bildiğim kadarıyla başkalarına da faydalı olmaya çalışıyorum.
Lütfen bu yazıya cevap verme niyetinde olan arkadaşlar önce yukardaki linkteki yazıyı okusun. Sonra cevap versin.
Taraf olma niyetinde değilim. Ama daha centilmen ve açıklayıcı yazılar yazılması yada nokta atış olarak - bu kelimeyi seviyorum - sihirli kelime verilmesi taraftarıyım.
@serkancetin e saygılarımla
Teşekkürler bilgi verdiginiz için.daha dikkatli olurum inşAllah. Affedersiniz