Hi-tech Yeniyim.. Derleme hatası ,pls yardım

Başlatan boraciner, 04 Temmuz 2009, 21:35:07

boraciner

arkadaşlar ,şu hatayı alıyorum bir bakabilirmisiniz?
yardımlar için teşekkürler..

Severity	Description	Resource	In Folder	Location	Creation Time	Id
2	(192) undefined identifier "Clock" 	main.c	KlavyeDene	line 63	July 4, 2009 9:26:51 PM	146
2	(192) undefined identifier "Data" 	main.c	KlavyeDene	line 67	July 4, 2009 9:26:51 PM	147
2	(984) type redeclared 	main.c	KlavyeDene	line 76	July 4, 2009 9:26:51 PM	148
1	(361) function declared implicit int 	main.c	KlavyeDene	line 9	July 4, 2009 9:26:51 PM	145
1	(337) line does not have a newline on the end 	main.c	KlavyeDene	line 111	July 4, 2009 9:26:51 PM	149
1	(176) missing newline 	main.c	KlavyeDene	line 112	July 4, 2009 9:26:51 PM	144


#include <htc.h>
#define PortB.7 Clock 
void
main(void)
{
unsigned char yazi;

	while (1){
yazi=keyboard();
	}
}


const unsigned char kucuk[67][2]={ 
      {0x0D,0x7E},{0x0E,'"'} ,{0x15,'q'},{0x16,'1'}, 
      {0x1A, 'z'},{0x1B,'s'} ,{0x1C,'a'},{0x1D,'w'}, 
      {0x1E, '2'},{0x21,'c'} ,{0x22,'x'},{0x23,'d'}, 
      {0x24, 'e'},{0x25,'4'} ,{0x26,'3'},{0x29,' '}, 
      {0x2A, 'v'},{0x2B,'f'} ,{0x2C,'t'},{0x2D,'r'}, 
      {0x2E, '5'},{0x31,'n'} ,{0x32,'b'},{0x33,'h'}, 
      {0x34, 'g'},{0x35,'y'} ,{0x36,'6'},{0x39,','}, 
      {0x3A, 'm'},{0x3B,'j'} ,{0x3C,'u'},{0x3D,'7'}, 
      {0x3E, '8'},{0x41,0xEF},{0x42,'k'},{0x43,  3}, 
      {0x44, 'o'},{0x45,'0'} ,{0x46,'9'},{0x49,  7}, 
      {0x4A, '.'},{0x4B,'l'} ,{0x4C,  2},{0x4D,'p'}, 
      {0x4E, '+'},{0x52,'i'} ,{0x54,  5},{0x55,0x5F}, 
      {0x5A,0xA3},{0x5B,0xF5},{0x5D,','},{0x61,'<'}, 
      {0x69, '1'},{0x6D,'4'} ,{0x6C,'7'},{0x70,'0'}, 
      {0x71, ','},{0x72,'2'} ,{0x73,'5'},{0x74,'6'}, 
      {0x75, '8'},{0x79,'+'} ,{0x7A,'3'},{0x7B,'-'}, 
      {0x7C, '*'},{0x7D,'9'} ,{0x00,0} 
}; 

const unsigned char buyuk[67][2]={ 
      {0x0D,0x7E},{0x0E,'é'} ,{0x15,'Q'},{0x16,'!'}, 
      {0x1A, 'Z'},{0x1B,'S'} ,{0x1C,'A'},{0x1D,'W'}, 
      {0x1E, '2'},{0x21,'C'} ,{0x22,'X'},{0x23,'F'}, 
      {0x24, 'E'},{0x25,'+'} ,{0x26,'^'},{0x29,' '}, 
      {0x2A, 'V'},{0x2B,'F'} ,{0x2C,'T'},{0x2D,'R'}, 
      {0x2E, '%'},{0x31,'N'} ,{0x32,'B'},{0x33,'H'}, 
      {0x34, 'G'},{0x35,'Y'} ,{0x36,'&'},{0x39,'L'}, 
      {0x3A, 'M'},{0x3B,'J'} ,{0x3C,'U'},{0x3D,'/'}, 
      {0x3E, '('},{0x41, 0 },{0x42,'K'},{0x43, 'I'}, 
      {0x44, 'O'},{0x45,'='} ,{0x46,')'},{0x49,  7}, 
      {0x4A, ':'},{0x4B,'l'} ,{0x4C,  1},{0x4D,'P'}, 
      {0x4E, '?'},{0x52, 6 } ,{0x54,  5},{0x55,0x2D}, 
      {0x5A,0xA3},{0x5B, 4 },{0x5D,';'},{0x61,'>'}, 
      {0x69, '1'},{0x6D,'4'} ,{0x6C,'7'},{0x70,'0'}, 
      {0x71, ','},{0x72,'2'} ,{0x73,'5'},{0x74,'6'}, 
      {0x75, '8'},{0x79,'+'} ,{0x7A,'3'},{0x7B,'-'}, 
      {0x7C, '*'},{0x7D,'9'} ,{0x00,0} 
}; 

unsigned char get_byte(void) 
{ 
	
	
   char i; 
   unsigned char veri=0; 

   for(i=0;i<11;i++)            //11 bitlik veri gelecek 
   { 
      while(Clock);            //İlk önce Clock=1 olmalı 
      if( (i<9) && (i>0))         //2->9 bitler 
      { 
         veri=veri>>1; 
         if(Data==1) 
            veri=veri | 0x80; 
      } 
      while(!Clock);            //Son olarak Clock=1 olmalı 
   } 
   return veri;               //Algılanan değer gönderiliyor 
} 

unsigned char keyboard(void) 
{ 
   unsigned char data=0; 
   unsigned char shift, code_flag, i; 
   for(;;) 
   { 
      data=get_byte(); 
      if(data==0x0F)         //Tuş bırakıldı 
      { 
         code_flag=1;      //Tuş algılandı 
      } 
       
      if(code_flag==1)      //Tuş algılandı, acaba bu shift mi diye bakılıyor 
      { 
         code_flag=0;      //Yeni tuş algılanması için bayrak sıfırlanıyor 
         if((data==0x12)||(data==0x59))   //Sağ ya da sol shifte mi basıldı 
            shift=!shift;            //Capslock gibi çalışacak 
      } 
       
      if((data==0x12)||(data==0x59))   //Sağ ya da sol shifte mi basıldı 
         shift=!shift;            //Capslock gibi çalışacak 
       
      if(data==0x58)               //Capslock'a basıldıysa 
         shift=!shift; 
       
      for(i=0;kucuk[i][0]!=data && kucuk[i][0]; i++);      //Tuşun ascii karşılığı bulunuyor 
       
      if(kucuk[i][0]==data)         //Data ascii tablolarımızda var mı bakılıyor 
      { 
         if(!shift)               //Capslock açık değilse küçük harf, açıksa büyük harfin ascii değeri geri gönderiliyor 
            return kucuk[i][1]; 
         else 
            return buyuk[i][1]; 
      } 
      else 
         return data;            //Eğer tablomuzda o değer bulunmuyorsa direk klavyede okunan kod geri gönderiliyor 
   } 
}

arslan74

Değişken bildirimlerini en başta yapmalısın. Fonksiyondan sonra değişken bildiremessin.