Bu fonksiyon ne işe yarar?

Başlatan musti463, 18 Kasım 2013, 21:36:31

musti463

Merhaba CCS C'de ex_rs485 örneğini incelerken şöyle bir fonksiyonun olduğunu gördüm

char PCgetc()
{
   in_char = 0;

   while(!in_char);

   return in_char;
}


Program PCgetc çağrıldığında sonsuz döngüye girmemiz mi? Yoksa ben birşeyi atlıyormuyum?
Mustafa Emir SADE

mir_as82

Hocam sanki enter basili iken bekliyor. enter birakilİnca basilan karakteri geri döndürüyor gibi

musti463

#INT_RDA
void serial_isr()
{
   in_char = fgetc(PC);
}

char PCgetc()
{
   in_char = 0;

   while(!in_char);

   return in_char;
}

char* PCgetMsg()
{
   int8 i;

   for(i=0; (msg[i] = PCgetc()) != '\r' && i<64; ++i);

   msg[i] = '\0';

   return &(msg[0]);
}


bu kod bölümü klavyeden girilen sayıyı rs485 ile alıcıya gönderiyor diyebiliriz değil mi?
Mustafa Emir SADE

z

Seri porttan gelen, sonu  CR ile biten yada max 64 byte uzunluktaki stringe ait verileri tek tek alip ramda msg adindaki string alanina yazan bir rutin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

musti463

Alıntı yapılan: z - 18 Kasım 2013, 22:33:53
Seri porttan gelen, sonu  CR ile biten yada max 64 byte uzunluktaki stringe ait verileri tek tek alip ramda msg adindaki string alanina yazan bir rutin.

Peki hocam bu yapıyı PIC'den PIC'e bilgi gönderecek şekilde nasıl düzenleyebiliriz?
Mustafa Emir SADE

z

fgetc() fonksiyonunu picin seri port registerini okuyacak sekle sokarsan ayni kodu kullanabilirsin.

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