seri iletişim,......nasıl yaparım ?

Başlatan pcb, 15 Mart 2008, 01:35:16

pcb

Arkadaşlar, A,B,C,D,E , bunlar birer değer taşıyor mesela A=10 B=4 C=19 gibi. bu değerleri bir seferde seri olarak diğer işlemciye göndermek istiyorum ancak sorun şu bu değişkenlerin değerlerini yan yana nasıl ekleyip gönderebilirim? Değişkenlerin data_1 e yüklenmesi lazım.

SerOut PORTE.2 , 16572,  [ str data_1 ]

ete

HexaDesimal sayı sisteminin özelliğini kullanabilirsin.
Prensip şöyle;
str_data1=A+B*16+C*256
verdiğin örneğe göre;
Str_data1=10+4*16+19*256=10+64+4864=4938

Gönderilen yerde bu değerlerin tekrar ayrıştırılması için,
C=str_data1/256
Str_data1=Str_data1-C*256
B=Str_data/16
A=Str_data1-B*16

Hepsi bu. Tabiiki Str_data değişkeni Word cinsinden olmalı.
Diğer bir önemli kısıtlama ise A-B sayılarının 16 dan büyük olmaması dır. 3 adet den fazla sayı kullanılacak ise C sayısıda 16 dan büyük olmamamsı gerekiyor.
Neden her bir sayı için ayrı değişken kullanmıyorsun ?. Her halde senin içinde bir kısıtlama var.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

pcb

@ETE hocam yardımınız için teşekkür ederim :) ayrıca bir başka şekilde de gönderilebiliyormuş araştırdım, test ettim paylaşmak isterim.

Dim DATA_1    As  String   * 50

DATA_1 = Str$ (Dec A) + "," + Str$ (Dec B).........'250 KARAKTER E KADAR OLABILIYOR

SerOut PORTE.2 , 16572, [ Str DATA_1 ]

Değişkenlerle işimiz bittiğinde döngü tamamlandığında ram i boşaltmak faydalı işlemci kilitlenebiliyor DATA_1 gibi bir çok string kullanılmışsa
CLEAR  DATA_1