Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Microchip PIC => Konuyu başlatan: NamTech - 03 Ekim 2017, 10:12:14

Başlık: CCS C yardım
Gönderen: NamTech - 03 Ekim 2017, 10:12:14
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.
Başlık: Ynt: CCS C yardım
Gönderen: sadogan - 03 Ekim 2017, 10:21:05
Jal da aynı programı nasıl yazardınız ?
Başlık: Ynt: CCS C yardım
Gönderen: sigmoid - 03 Ekim 2017, 10:31:50
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.
Başlık: Ynt: CCS C yardım
Gönderen: NamTech - 03 Ekim 2017, 10:34:05
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.
Başlık: Ynt: CCS C yardım
Gönderen: sadogan - 03 Ekim 2017, 12:04:10
Oncelikle kulandığınız portu yapılandırmanız lazım.
set_tris_b(0b00011111);
Başlık: Ynt: CCS C yardım
Gönderen: fahri- - 03 Ekim 2017, 13:26:02
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.
Başlık: Ynt: CCS C yardım
Gönderen: eeburakdemir - 03 Ekim 2017, 14:00:54
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.