Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: saybatli - 11 Ağustos 2017, 00:14:16

Başlık: 2 pic arasında RF haberleşme
Gönderen: saybatli - 11 Ağustos 2017, 00:14:16
Merhaba;

2 tane pic var 1 tanesi diğer pic'e ADC den okuduğu float voltaj değeri gönderecek şekilde ayarlamak istiyorum. Denem olarak putc  ile tek rakam gönderip getc ile veri alabiliyorum ama sadece 1 karakter oluyor bu. ben float olan değeri göndermek istiyorum. printf ile string olarak göndermeyi denedim karşı alıcı pic hiç bir veri almadı. Float değerler nasıl gönderilir ?
Başlık: Ynt: 2 pic arasında RF haberleşme
Gönderen: XX_CİHAN_XX - 11 Ağustos 2017, 08:10:36
Merhaba, yeni konu açmadan önce ilgili konu hakkında forumda arama yapınız. Geçmişte çok defa konuşulan bir konu. Aramalarda bulamadığınız ya da anlamadığınız noktaları sorarak ilerlerseniz daha hızlı çözüm bulabilirsiniz.
Başlık: Ynt: 2 pic arasında RF haberleşme
Gönderen: sigmoid - 11 Ağustos 2017, 09:48:35
Union ile yapabilirsiniz. Union içinde bir float ve 4 bytelık dizi oluşturun. Union olarak tanımladığınız iki değişkende aynı adreste saklanır. Hesaplamalarda float değişkeni, veri gönderip alırken diziyi kullanmanız yeterli.
Başlık: Ynt: 2 pic arasında RF haberleşme
Gönderen: saybatli - 11 Ağustos 2017, 09:56:58
Alıntı yapılan: sigmoid - 11 Ağustos 2017, 09:48:35
Union ile yapabilirsiniz. Union içinde bir float ve 4 bytelık dizi oluşturun. Union olarak tanımladığınız iki değişkende aynı adreste saklanır. Hesaplamalarda float değişkeni, veri gönderip alırken diziyi kullanmanız yeterli.

bende o konuya bakıyordum böyle birşey buldum ama nasıl işliyor tam anlamadım

union u_tab {
int ival;
long lval;
float fval;
};

union u_tab Tab;
void main (void) {
      int Val  = (int) Tab.fval;
}
Başlık: Ynt: 2 pic arasında RF haberleşme
Gönderen: polleme - 11 Ağustos 2017, 15:59:11
Alıntı yapılan: saybatli - 11 Ağustos 2017, 09:56:58
bende o konuya bakıyordum böyle birşey buldum ama nasıl işliyor tam anlamadım

union u_tab {
int ival;
long lval;
float fval;
};

union u_tab Tab;
void main (void) {
      int Val  = (int) Tab.fval;
}

Burada union olarak yaratılan u_tab değişkeni, altında üç alt değişken içeriyor ve biz ana değişken üzerinden bu üçüne erişebiliyoruz. Bu değişkenler bir grup yapılmış oluyor. Ardından alttaki union komutu ile bu u-tab formatına uygun Tab değişkeni yaratılıyor. Bu Tab değişkeni, programın kalan kısmında kullanılacak kopya değişken olmuş oluyor. Nihayet  int Val  = (int) Tab.fval; satırı ile de bu Tab değişkeni altındaki fval alt değişkeninin değeri okunup Val adlı yeni yaratılan değişkene aktarılıyor.

Başlık: Ynt: 2 pic arasında RF haberleşme
Gönderen: saybatli - 11 Ağustos 2017, 16:26:38
Alıntı yapılan: polleme - 11 Ağustos 2017, 15:59:11
Burada union olarak yaratılan u_tab değişkeni, altında üç alt değişken içeriyor ve biz ana değişken üzerinden bu üçüne erişebiliyoruz. Bu değişkenler bir grup yapılmış oluyor. Ardından alttaki union komutu ile bu u-tab formatına uygun Tab değişkeni yaratılıyor. Bu Tab değişkeni, programın kalan kısmında kullanılacak kopya değişken olmuş oluyor. Nihayet  int Val  = (int) Tab.fval; satırı ile de bu Tab değişkeni altındaki fval alt değişkeninin değeri okunup Val adlı yeni yaratılan değişkene aktarılıyor.

cevap için çok teşekkür ederim şimdi uygulamaya çalışacağım.