undefined identifier -delay ms hatası.

Başlatan protezdiyot, 24 Ekim 2013, 19:10:22

protezdiyot

Merhaba;
Pic programlamada yeniyim.
basit bir kod yazdım ancak sürekli delay_ms de hata veriyor.Nerede yanlış yapıyorum?


#include "16f877a.h"

void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   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_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);

   // TODO: USER CODE!!
set_tris_a(0xff);
set_tris_b(0x00);
basla:
if(input(pin_a0))
{
delay_ms(50); burada ms ie parantez arasında imleç yanıp sönüyor...
output_high(pin_b0);


}goto basla;
}

Tagli

Verdiği hata mesajını da yazarsan yardım alma ihtimalin artar.
Gökçe Tağlıoğlu

protezdiyot

#2
Alıntı yapılan: Tagli - 24 Ekim 2013, 20:17:30
Verdiği hata mesajını da yazarsan yardım alma ihtimalin artar.

undefined identifier -delay ms şeklinde hata veriyor


bu da main.h dosyası


#include <16F877A.h>
#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz
#FUSES NOPUT                    //No Power Up Timer
#FUSES PROTECT                  //Code protected from reads
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES WRT_50%                  //Lower half of Program Memory is Write Protected

#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

esensoy

h dosyası içinde
#use delay(clock=X)

ile osilator frekansınızı belirttiniz mi?

X yerine kristal frekansı yazılacak, 4MHz ise 4M veya 4000000
En tehlikeli an "zafer" anıdır.

protezdiyot

#4
.h dosyasında görüldüğü gibi yapmıştım ama değişen birşey olmadı.
Ben pic wizard (yeni proje aç)  yaptıktan sonra bu sefer proje açılış sayfasında ilk değerleri girdiğimiz osilatör frekansı 20mhz yazan yere 4 mhz eğerini girdim.şimdi düzeldi.Sorun buradan mı diye tekrar picwizard yaptım.default değer 20 mhz di.ok deyip proje sayfasına düştüm.ama yine delay ms kodu hata ver-ME-di.Sorun neden oldu bilmiyorum ama şu an delay_ms de bir hata vermiyor...

protezdiyot

Hatayı buldum.

include içine verilen dosya yolunu ben değiştirip 16f877a.h yazıyordum.include içeriğini Değiştirilince , delay_ms hatası veriyordu.Bu sefer değiştirmedim.sorun olmadı.include içine dosyaya ilk verdiğim ismide yani main.h yazıncada sıkıntı çıkmadı.Sorun çözülmüştür...