Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

CCS C yardım

Başlatan NamTech, 03 Ekim 2017, 10:12:14

NamTech

Merhabalar,

Ben Jal dilinden CCS C ye geçmeye çalışıyorum. BAsit bir başlangıç ile deneme yapmak istedim fakat sorunlar yaşıyorum. Yardımcı olacak bir arkadaş varmıdır şimdiden teşekkür ederim.

Yazdığım program aşağıda

#include <deneme.h>

void main()
{

   while(TRUE)
   {
    output_high(PIN_B7);
    delay_ms(500);
    output_low(PIN_B7);
    delay_ms(500);
    output_high(PIN_B6);
    delay_ms(500);
    output_low(PIN_B6);
    delay_ms(500);
    output_high(PIN_B5);
    delay_ms(500);
    output_low(PIN_B5);
    delay_ms(500);
   }

}



Deneme.h dosya içeriğide şu şekilde

#include <16F887.h>
//#fuses INTRC_IO, NOWDT, PUT, BROWNOUT, NOMCLR, NOLVP
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOMCLR
#FUSES NOPUT
#use delay(internal=8000000)



Devre üzerinde osilator devresi kurulu değil (yok) mclr pullup direnci takılı değil. Sadece B 7,6,5 portuna toplam 3 adet led bağlı. Devreye elektrik verdiğimde B6 portuna bağlı led sönük bir şekilde yanıyor.

Hatayı nerede yapıyor olabilirim.
Kim Ne Derse Desin Alelade Birisi.

sadogan

Jal da aynı programı nasıl yazardınız ?

sigmoid

Ccsc de kesin karar kılmadıysanız ansic standartında bir derleyicisiye geçmenizi tavsiye ederim. Bu sayede ileride mikrodenetleyici değiştirme durumunuz olduğunda yazdığınız kodları daha rahat taşıyabilirsiniz. Microchip in kendi derleyicisi xc8 ansic standartındadır. Kaynak olarak malesef türkçe kitap yok. C kitabı alıp çalışmanızı tavsiye ederim. Xc8 için çekilmiş videoları www.youtube.com/c/gencmucitler adresinden ulaşabilirsiniz.

NamTech

JAL ile 887 kütüphanesi olmadığından bu dile geçmeyi uygun gördüm.


Forerver loop

pin_b7 = high
delay100ms ( 5 )
pin_b7 = low
delay100ms ( 5 )

end loop

gibi yazabiliyordum.

Ayrıca yaptığım hatayı buldum devrem ve program çalışıyor. Hata donanımsal imiş.

Herkese teşekkür ederim.
Kim Ne Derse Desin Alelade Birisi.

sadogan

Oncelikle kulandığınız portu yapılandırmanız lazım.
set_tris_b(0b00011111);

fahri-

CCS C de port yapılandırmaya gerek yok. Output_high(pin_x) veya output_low(pin_x) fonksiyonları port yapılandırmayı otomatik yapıyor.

eeburakdemir

Merhaba,
Sanırım yazdığınız kodlarda bazı eksikler var. Internal osc. kullanmak istemişsiniz sanırım ama main kısmı içerisinde bunu belirtmeniz lazım. Bu dile yeni geçtiyseniz , CCS C kendi example kısımlarına bakın derim. Main içerisine şu kodları da ekleyip deneyin. Eğer

setup_oscillator(OSC_8MHZ); 
setup_psp(PSP_DISABLED) ;
setup_spi(SPI_SS_DISABLED)
setup_timer_1(Tl_DISABLED)
setup_timer_2(T2_DISABLED,0,1)
setup_adc_ports(NO_ANALOGS)
setup_adc(ADC_OFF) ;
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);


Ayrıca CCS C compiler bilgisayarınızın kurulu olduğu kısımda example dosyaları da mevcut. Giriş çıkış tanımlamları yapılması lazım fakat arkadaşın belirttiği üzere derleyici bunu kendi yapabiliyor.

Asla pes etme...