Derleme sorunu

Başlatan serkan, 25 Temmuz 2014, 07:57:52

serkan

mikro c öğrenmeye çalışıyorum 16f877A da derlenen program 18f452 de derlenmiyor.yeni proje oluşturup 18f452 yi seçiyorum sonuç hüzün veriyor.

unsigned int i,a,l,x;
char *text1;        /*karakter tipinde işaretçi tanımlanıyor.İşaretçiler oldukça geniş konudur.sadece * la gösterildiğini bilmek yeterlidir*/
char *isim ;

sbit LCD_RS at RB2_bit;                    /*LCD bağlantıları ayarlanıyor*/
sbit LCD_EN at RB3_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_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 ayarlar(){
  PORTB=0;
  TRISB=0x00;
  INTCON = 0;                              // Tüm kesmeler iptal edildi
  Lcd_Init();                        // Lcd_Init PORTB LCD için hazırlandı
  LCD_Cmd(_LCD_CURSOR_OFF);                 // LCD kursör kapatıldı
  LCD_Cmd(_LCD_CLEAR);                      // LCD de radtgele karekter oluşmaması için silindi
  ADCON1     =6;                       // ADC pinleri Dijitale ayarlandır
  CMCON=0x07;                              // karşılaştırıcı modülleri dijitale ayarlandı
  }
/*****************************************************************************/
void main() {
ayarlar();
for(;;){

text1="               320VOLT.COM  MERHABA ELEKTRONIK SEVERLER "; /*58karekterlik bilgi satırı*/
for(i=0; i<56; i++)    /*burada 0 56 arası 57lik döngü kuruldu ve her seferinde bilgi bir artırılarak ekranda gösterilir.*/
{                     /*deger 0  iken bilgi sıfır 15 arası ekranda gösterilirdeğer bir artırılır 1 17 arası 2 18 arası*/
text1++;              /*bu şekilde yazıya kayma efektri verilir bu yapı aşağıdaki bilgimetni içinde kullanıldı. */
Lcd_out(1,1,text1);
delay_ms(100);
}
LCD_Cmd(_LCD_CLEAR);
delay_ms(50);

isim = "                AYTAC DURGEN mikroC LCD Kutuphanesi Anlatimi ";/*62 karakterlik bilgi satırı*/

for(i=0; i<61; i++)
{
isim++;
Lcd_out(2,1,isim);
delay_ms(100);
}
LCD_Cmd(_LCD_CLEAR);
i=0;
Delay_ms(200);
for(i=0;i<3;i++){

text1= "BURASI 1.SATIR";
LCD_Cmd(_LCD_CLEAR);
Lcd_out(2,1,text1);    /*ekranın 2.satırına sabit yazı 1 karakterden itibaran basılıyor*/

delay_ms(800);
text1= "BURASI 2.SATIR";
LCD_Cmd(_LCD_CLEAR);
Lcd_out(1,1,text1);   /*ekranın 1.satırına sabit yazı 1 karakterden itibaran basılıyor*/

delay_ms(800);
LCD_Cmd(_LCD_CLEAR);         /*lcd Ram hafızası siliniyor LCD görüntüsü temizleniyor.*/
}
}
}//~!



RaMu

ilk satırdaki unsigned int i,a,l,x;
a harfini sil,

void mainden hemen önceki
  CMCON=0x07;
satırını sil

bu şekilde hatasız derlenir.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

serkan

Hocam
a yı silince derlendi
anladığım kadarı ile değişken isimlerine bazı harfleri veremiyoruz.

sağol


z

Müsadenle bu yorumuna fıkra ile cevap vereceğim.

Karadenizli bir bilim adamı pirelerle deney yapıyor.Pireye
"sıçra" diyor, pire sıçrıyor; "zıpla" diyor, pire zıpliyor. Pirenin
bir ayağını koparıyor ve zıpla diyor.zıplıyor.
Rapor 1:Pire bir ayağı kopartılsa da zıpladı.

Bu defa tüm ayaklarını koparıyor ve "zıpla" diyor hareket yok.Bir
daha"zıpla" diyor yine hareket yok.ve adam yazıyor.
Rapor 2:Pirelerin ayakları kopunca kulakları duymuyor.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

serkan

z hocam
bende zaten trabzonluyum  yomradan  güzel fıkra kanatları yolunmayan pire tasviye edermisiniz pahalı olmasın ilaçlı olsun

z

#5
Asıl yorum şöyle olacaktı.

Değişkenleri tanımladığın havuzda;
Bir değişken tanımladığın zaman, değişkene verdiğin adı aynı havuzda tanımlanacak bir başka değişken için kullanamazsın.

Örneğin global alanda;

int a; şeklinde tanım varsa bir başka yerde tekrardan int a; char a vs adı a olan değişken tanımı yapamazsın.

Bu durumda derleyici ".... indentifier redefined" benzeri hata mesajı verir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

serkan