Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: sayment - 22 Temmuz 2011, 01:12:37

Başlık: CCS C hata ve hatalar.
Gönderen: sayment - 22 Temmuz 2011, 01:12:37
CCS C'ye yeni başladım. Çok basit bi hatadan dolayı konu açtığım için kusura bakmayın anlayamadım. Hata şöyle ki:
Derleyici "Expecting a ; or ," hatasını veriyor ve "void main()" ana fonksiyonun olduğu satırı gösteriyor. Hatam nerede acaba ?

NOT: Eğer bir sakıncası yoksa ileride karşılaşacağım sorunları da, konu kalabalığı olmaması adına buradan sormayı düşünüyorum.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: tyildizak - 22 Temmuz 2011, 03:29:04
Bir deyim sonuna noktalı virgül koymayı unuttunuz ya da parantezlerden biri fazla ya da eksik.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: vitruvius - 22 Temmuz 2011, 09:41:25
void main()'den bir önceki satıra bakın. Arkadaşın dediği gibi noktalı virgül koymayı unutmuşsunuz.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: GreeN - 22 Temmuz 2011, 09:51:34
Üst satırlardan birin de tanımsız yada bir yanlış yazım mevcut.

Genelde bir fonksiyonun içinde yada main içindeki böyle hataları imleci fonksiyon sonuna giderek gösterir. Ama sen muhtemelen bir değişken tanımında sona ";" eklemeyi unutmuşsun.

Sana tavsiyem CCS C' yi MBLAB ile kullan , Hem PICKIT2 ve MPLAB SIM'de debug yapabilirsin hemde mplab hata ayıklama da daha iyi.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: asalet4242. - 22 Temmuz 2011, 10:10:04
arkadaşlar benimde bir sorum olacak öncelikle teşekkürler...
//main deneme

#include<pic.h>

#include <delay.c>

void main()

TRISB=0;
{
   for(;;)
   {
      RP0=0;
      Delay_Ms(250);
      RP0=1;
      Delay_Ms(250);
   }
}      
-program bu basit bi tek let yakıp söndürme programı zaman aralığı ile.fakat 3 gündür bi, hatayı bulamadım ona uğraşıyorum hata şu;

Error   [141] C:\Documents and Settings\pazarlama\Desktop\celloooo\ilk deneme.c; 5.18 can't open include file "delay.c": No such file or directory
ve hataya tıkladığımda şu satırı gösteriyor;

#include <delay.c> teşekkürler...
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: JKramer - 22 Temmuz 2011, 10:16:11
Bu kod CCS için değil, Hitech için muhtemelen.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: fahri- - 22 Temmuz 2011, 10:16:39
proje klasöründe "delay.c" satırın yok diyor. delay fonkiyonarını kullanabilmen için delay.c dosyası gerekli.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: asalet4242. - 22 Temmuz 2011, 10:25:44
ewet hi tech c bu...
proje satırında dediğiniz yer nersi anlayamadım??
klasörün içeriisne main c,delay c,delay h, dosyalarını kopyaladım yani aynı dizindeler...zannediyorum ki burada bi sorun yok bide sadece bu program için değil netten kopyala yapıştır yaptığım bütün programlar için aynı hatayı veriyor....3 gündür çıkamadım içiinden lütfen yardımcı olun??
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: tyildizak - 22 Temmuz 2011, 10:51:22
Dosya aynı dizindeyse çift tırnak kullanın:  #include "delay.c"

Sonrasında da bir yazım hatası var:

#include<pic.h>

#include "delay.c"

void main()
  {
        TRISB=0;       
//TRISB=0;
//{                               
for(;;)
{
RP0=0;
Delay_Ms(250);
RP0=1;
Delay_Ms(250);
}
}
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 22 Temmuz 2011, 11:08:25
Alıntı yapılan: GreeN - 22 Temmuz 2011, 09:51:34
Genelde bir fonksiyonun içinde yada main içindeki böyle hataları imleci fonksiyon sonuna giderek gösterir. Ama sen muhtemelen bir değişken tanımında sona ";" eklemeyi unutmuşsun.
Sana tavsiyem CCS C' yi MBLAB ile kullan.

Verdiğiniz yanıtlar için herkese teşekkür ederim. Ana fonksiyondan önce uzun bir dizi tanımlarken dediğiniz gibi ";" unutmuşum:)
Derleyici olarak PCW kullanıyorum MPLAB'a geçerken bi zorlanma falan yaşarmıyım acaba. Bu programı kullanması gayet kolayda.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: asalet4242. - 22 Temmuz 2011, 11:11:44
bu seferde bu hatayı veriyor
Warning [361] C:\Documents and Settings\pazarlama\Desktop\projeler\main deneme.c; 13.1 function declared implicit int
kafayı yiyeceğim ya bi türlü çıkamadım işin içinden....
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: GreeN - 22 Temmuz 2011, 17:26:27
Alıntı Yap
Derleyici olarak PCW kullanıyorum MPLAB'a geçerken bi zorlanma falan yaşarmıyım acaba. Bu programı kullanması gayet kolayda.

Mplab tecrüben olabileceğini düşündüm. Sadece öneri. 
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: gokhan1500 - 22 Temmuz 2011, 17:35:07
Tavsiyem ilk önce bir C programlama kitabı al ve bunun üzerinde çalış! Yazdığın kod C bilginin zayıf olduğunu gösteriyor.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 22 Temmuz 2011, 18:06:00
Alıntı yapılan: GreeN - 22 Temmuz 2011, 17:26:27
Alıntı Yap
Derleyici olarak PCW kullanıyorum MPLAB'a geçerken bi zorlanma falan yaşarmıyım acaba. Bu programı kullanması gayet kolayda.
Mplab tecrüben olabileceğini düşündüm. Sadece öneri. 
Sağolun. Bundan önce PBP ile yazıyordum onda da MicroCodeStudio kullandım MPLAB hiç kullanmadım. Ama kitapta MPLAB kullanmayı gösteriyor bakarım.

Alıntı yapılan: gokhan1500 - 22 Temmuz 2011, 17:35:07
Tavsiyem ilk önce bir C programlama kitabı al ve bunun üzerinde çalış! Yazdığın kod C bilginin zayıf olduğunu gösteriyor.
Serdar Çiçek'in kitabını aldım ondan çalışıyorum. Daha yeni başladımı haliyle bilgim zayıf.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: gokhan1500 - 22 Temmuz 2011, 18:18:59
Serdar Çiçek CCS kitabı CCS C kullanarak Pic programlamayı öğrenmek için çok güzel bir kaynaktır.Ama C Programlamaya bu kitapla başlamak hatadır bence.Belli bir C altyapın vardır onun üstüne bu kitapla rahatça çalışırsın.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 22 Temmuz 2011, 23:19:14
Sıfırdan başladım. PBP alt yapım var geçiş yapmak pek zor olmadı.Hemen hemen aynı komutlar. Kitabın dilide gayet yalın.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: Okan AKÇA - 23 Temmuz 2011, 09:20:09
picproje gezinirken biraz dikkatimi cekti herkez programcılık ogreniyor yada ögrenmeye calışıyor ne güzel bir şey ancak yanlış burda başlıyor eger işlemci programlamayı ögrenecekseniz elektronik alt yapınız olacak her önüne gelen programcılık yapmaya calışarak bu işin üsdatlarına  yapan kişileirin adı kötülenir.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 23 Temmuz 2011, 13:30:29
Alıntı yapılan: cyclone - 23 Temmuz 2011, 09:20:09
picproje gezinirken biraz dikkatimi cekti herkez programcılık ogreniyor yada ögrenmeye calışıyor ne güzel bir şey ancak yanlış burda başlıyor eger işlemci programlamayı ögrenecekseniz elektronik alt yapınız olacak her önüne gelen programcılık yapmaya calışarak bu işin üsdatlarına  yapan kişileirin adı kötülenir.

Ne yani bırakayım mı öğrenmeyi ? Siz ne önerirsiniz ?
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: Tagli - 23 Temmuz 2011, 13:34:21
Benim de elektronik altyapim yok ama bir sekilde bata cika idare ediyorum. Bence olay daha cok programlama altyapisi ile ilgili, tabi cok profesyonel projelere girilmedigi surece.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: Okan AKÇA - 23 Temmuz 2011, 17:31:45
programcılık onemlidir ancak ne kadar önemlidir.herkez programcıyım die ovünür ama hic kimse ben analogcuyum demez.progracılık işin en basit kısmıdır aslında.similasyonda yaptıgın devreler canavar gibi calısır iş end. uygulamalarda başlar.en basit başlayarak yapılan her iş profesyonel olması gerekir daha dogrusu mühendislik iş yapılması gerekir.progracı arkadaşlar yazar programı sonra uygulamada sihaz sapıtır. sonra pic parazit alıyor yok efendim bunlar prazitten etkileniyor derlerrrrrr programcı arkadaşlar :D :D :D :D
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 03 Ağustos 2011, 19:45:56
Kesmeleri öğrenmek için uygulama yaparken bir sorunla karşılaştım şöyle ki:

Kesme meydana geldikten sonra program sürekli kesme fonksiyonu içerisinde kalıyor.Kesme fonksiyonun içerisindeki komutları işledikten sonra kaldığı yerden devam etmiyor, sürekli kesme fonksiyonu içerisindeki komutları işlemeye devam ediyor. CCS C kesme bayrağını manuel olarak sıfırlamasak bile kesme fonksiyonunun sonunda kendisi otomatik olarak sıfırlıyor biliyorum. Hadi bunu da geçtim zaten manuel olarak interrupt ı sıfırlıyorum. Gene de program kesme fonksiyonu içerisindeki komutları işlemeye devam ediyor. Neden acaba ?

Bir de RB0 ve RB4-RB7 kesmelerini öğrendim. Diğer kesmeleri öğrenmem için tavsiye edeceğiniz örnekler yada kaynaklar nelerdir ?

Program aşağıda.

#include <16f877.h>

#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD

#use delay(clock=4000000)

#use fast_io(b)

#int_RB
void rb_kesme(int s)
{
   
   output_b(0x03);
   delay_ms(50);
   output_b(0x00);
   delay_ms(50);
   output_b(0x03);
   delay_ms(50);
   output_b(0x00);
   delay_ms(50);
   
   output_b(0x0c);
   delay_ms(50);
   output_b(0x00);
   delay_ms(50);
   output_b(0x0c);
   delay_ms(50);
   output_b(0x00);
   delay_ms(50);
   
   
   clear_interrupt(int_rb);
}
   

void main()
{
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_CLOCK_DIV_2);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_OFF);
     
   set_tris_b(0xf0);
   output_b(0x00);
   
   //ext_int_edge(H_TO_L);
   
   enable_interrupts(INT_RB);
   enable_interrupts(GLOBAL);
   
   for(;;)
   { 
   
   }   
}

Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: Tagli - 03 Ağustos 2011, 20:08:26
Daha once bir baslikta daha dile getirilmisti: PORTB degisim kesmesinin bayragini indirebilmak icin PORTB'nin (register) en az bir kez okunmus olmasi gerekiyor. Yoksa kesme sarti saglanmasa bile bayrak surekli kalkmaya devam ediyor.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 03 Ağustos 2011, 20:12:39
Alıntı yapılan: Tagli - 03 Ağustos 2011, 20:08:26
PORTB degisim kesmesinin bayragini indirebilmak icin PORTB'nin (register) en az bir kez okunmus olmasi gerekiyor.
Tam olarak anlayamadım. Bu söylediğinizi nasıl yapacağım ?
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: Tagli - 04 Ağustos 2011, 09:08:03
CCS C bilmedigim icin tam bir cevap vermem mumkun degil ama yapman gereken sey PORTB uzerindeki herhangi bir bacagi veya tum portu normal giris okur gibi okumak. Okudugun degeri kullanip kullanmaman onemli degil.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 04 Ağustos 2011, 15:15:44
Yanıtınız için sağolun. Söylediğinizi yaptım ancak sorun devam ediyor.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: frkcn - 04 Ağustos 2011, 15:48:21
cyclone söylediklerinin arkadaşın yardım istemesiyle ne alakası var. Sen bayağı profesyonel sin anlaşılan yardım etmek yerine vurmayı seçmişsin enteresan..
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: JKramer - 04 Ağustos 2011, 16:02:00
Proteus'da deniyorsanız dosyayı yükler misiniz?
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 04 Ağustos 2011, 16:46:13
Buyrun.
http://www.4shared.com/file/pNP4Mf8o/09_-_nterrupt_Kesme__uygulamal.html
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: JKramer - 04 Ağustos 2011, 17:00:52
Tagli'nın dediğini yaptığınızda sorun çözülüyor:
...
#int_RB
void rb_kesme()
{
   static int8 sample=0;
   sample=input_b();

   output_b(0x03);
   delay_ms(50);
   output_b(0x00);
   delay_ms(50);
   output_b(0x03);
   delay_ms(50);
   output_b(0x00);
   delay_ms(50);

   output_b(0x0c);
   delay_ms(50);
   output_b(0x00);
   delay_ms(50);
   output_b(0x0c);
   delay_ms(50);
   output_b(0x00);
   delay_ms(50);
}
...
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 04 Ağustos 2011, 17:07:47
Ben portu değil sadece herhangi bir pini okuttum ve değişkene eşitlemedim sadece okuttum. Bi sonuç alamamıştım. Neden bir değişkene eşitledik ?


input(pin_bx);

Bu komutla okutmuştum.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: JKramer - 04 Ağustos 2011, 17:20:37
Pini okumakla kastedilen, pinin lojik durumunu bir değişkene atmaktır. Yazdığınız satır zaten hata verip derlenmez.

Herhangi bir pini de okuyabilirsiniz:
static int8 sample=0;
sample=input(PIN_B5);


Derleyici kurulum klasöründe (program files\picc olabilir) Ccsc.chm isimli bir dosya var, onda komutların kullanımı ve örnekler mevcut.

Ekleme: Hata verip derlenmez dedim ama input(pin_b5); şeklinde bir satır hata vermiyor ve derleniyor :). Yalnız lst dosyasına bakarsanız bu satıra karşılık bir şey gelmediğini görebilirsiniz. Belki yeni sürümlerde düzeltmişlerdir, bence hata vermesi gerekiyor.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: sayment - 04 Ağustos 2011, 17:26:02
Açıklamanız için teşekkür ederim anladım.
Bende tam derleniyor yazacaktım ki mesajı güncellemişsiniz:) Bence de hata vermesi mantıklı olur. Hiç bir amaca hizmet etmeyen boş bir komut öylece duruyor.


Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: Klein - 04 Ağustos 2011, 21:23:55
Konunun başını okumadım.
Eğer son konu konu 8bit değişkene bir pinin değeri atılır mı ise?
Atılır. Pin 0 ise değişken 0 pin 1 ise değişken 1 olur.
CCS de bir C derleyici. Onun da bu işi yapıyor olması gerekir.

Derleyicinin ürettiği kodda bu kısmın görünmeme sebebi : bu değerin  bir yerde kullanılmıyor oluşu.
Eğer sample değişkeni başka bir yerde  anlamlı bir şekilde kullanılırsa,  üretilen kodda da görünür olacaktır.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: Furkan4334 - 30 Kasım 2017, 14:57:55
#include "C:\Users\USER\Desktop\Yeni klasör (2)\main.h"
#define use_portb_lcd TRUE
#include <LCD.C>
sbit LCD_RS at LATB4_bit;
sbit LCD_EN at LATB5_bit;
sbit LCD_D4 at LATB0_bit;
sbit LCD_D5 at LATB1_bit;
sbit LCD_D6 at LATB2_bit;
sbit LCD_D7 at LATB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;

void main()
{
}
Arkadaşlar böyle bir kod var expecting a ( hatası ile expecting a decleration hatası alıyorum neden olabilir acaba?
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: Serpill - 09 Nisan 2018, 00:22:27
#include <16F628A.h>
//#fuses NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT
#use delay (clock=4000000)
#include "LCD.C"
#include "DS1302.C"

int saniye,dakika,saat,gun,ay,yil,haftanin_gunu;

void main(){
lcd.init();
rtc.init();

rtc_set_datetime(12,3,11,1,23,59);
while(1){
rtc_get_time(saat,dakika,saniye);
rtc_get_date(gun,ay,yil,haftanin_gunu);
printf(lcd_putc,"\f%02d:%02d:%02d  ",saat,dakika,saniye);
switch(haftanin_gunu){
case 1:printf(lcd_putc,"P.TESİ");break;
case 2:printf(lcd_putc,"SALI");break;
case 3:printf(lcd_putc,"CARSA.");break;
case 4:printf(lcd_putc,"PERSE.");break;
case 5:printf(lcd_putc,"CUMA");break;
case 6:printf(lcd_putc,"C.TESİ");break;
case 7:printf(lcd_putc,"PAZAR");break;
}
printf(lcd_putc,"\f%02d:%02d:%02d  ",gun,ay,yil);
delay_ms(300);
}
}





------>lcd.init(); ve rtc.init(); kısmında hata alıyorum sebebini araştırdım fakat çözüm bulamadım .Yardımcı olursanız çok sevinirim.Teşekkürler.(kod RTC uygulaması içindir)
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: mehmet - 09 Nisan 2018, 01:33:06
Mesajınıza kod eklemek için "Code"
simgesini kullanın.
Başlık: Ynt: CCS C hata ve hatalar.
Gönderen: fahri- - 09 Nisan 2018, 10:19:19
CCS C kullaıyorsanız,

lcd.init(); değil lcd_init(); olacak
rtc.init(); değil rtc_init (); olacak