U

CCS de DEC5 parametresinin karşılığı varmı ?

Başlatan umitco, 06 Kasım 2012, 21:37:48

umitco

Seri iletişimde kullandığımız DEC5 parametresi gelen 5 desimal sayıyı değişkende birleştirerek alıyor. Bunu CCS de yapan bir fonksiyon varmı ? Aşağıda denediğim kod gelen her karakteri diziye alıyor ama ben long veya float değişkende toplanmasını istiyorum.

Ayrıca aşağıdaki kodda enter karakteri gelmeden printf fonksiyonu diziyi göndermiyor,entersiz dizideki değerleri almanın yolu varmı (printf ile)

#int_rda             // RX ucuna veri gelince meydane gelen kesme
void serihaberlesme_kesmesi ()
{
disable_interrupts(int_rda);
gets(klavye);         
printf ("%s",klavye);
enable_interrupts(int_rda);
}

Erata


char klavye;

#int_rda             // RX ucuna veri gelince meydane gelen kesme
void serihaberlesme_kesmesi ()
{
disable_interrupts(int_rda);
klavye = getc();         
printf ("%c",klavye);
enable_interrupts(int_rda);
}

umitco

klavye bir dizi değişkeni , bunu söylemeyi unutmuşum. Verdiğiniz örneği denemeiştim ama değişken dizi olunca printf fonksiyonu enter gelmeden gönderme yapmıyor. Asıl önemli olan ilk sorumdu , 5 rakamlı sayıyı bir değişkene almak , bunun için bir fonksiyon yazmaya çalışıyorum ama yeni olduğum için zorluyor haliyle..

Erata

#3

char klavye[5];
int indis ;

#int_rda             // RX ucuna veri gelince meydane gelen kesme
void serihaberlesme_kesmesi ()
{
disable_interrupts(int_rda);

indis=0;
do{
   klavye[indis]=getchar();

   if(klavye[indis]==5) break;
   indis++;

}while(1);   
printf ("%s",klavye);
enable_interrupts(int_rda);
}







umitco

süper bir kod olmuş üstad eline sağlık , teşekkürler

Powered by EzPortal