SEROUT komutu hakkında

Başlatan Yasin, 24 Şubat 2017, 21:58:25

Yasin

Merhaba arkadaşlar. Serout komutuyla ilgili birkaç sorum var. Aşağıdaki örnek kod üzerinden devam edelim:

SEROUT PORTA.1,N9600,["T",TEMP,13,10]


TEMP değişkeninin 16 bitlik bir değişken olduğunu varsayalım. Bu kod ile TEMP değişkenini yollayabilir miyiz? Ya da 8'er bit olarak 2 parçaya bölüp de mi göndermeliyiz? İkinci sorum, kod sonundaki  13 ve 10 sayılarının işlevi nedir? Son sorum ise şu. Bu kod yardımıyla araya MAX232 koyarak pc ile haberleşmek istesek, MAX232 veriyi tersleyerek gönderdiği için, pcye verinin terslenmemiş olarak gitmesi için veriyi tersleyerek göndermemiz gerekir değil mi? Yardımcı olacak arkadaşlara şimdiden teşekkür ederim.

ete

Temp değişkeni 2 byte halinde yollanmalıdır.
13 bir ASCII bilgisidir ve bilgisayar dilinde CHR$13 yani RETURN (ENTER) işlemine karşılık gelir bir işin sonlandırılması yada satır sonu işlemi anlamında da gelir. PC ile olan haberleşmelerde bu değerin verilmesi gerekir.
10 ise Line feed dir. Buda benzer şekilde işlem görür.
Bilgi alışverişinde tersleme gerekmez. Çünki PC tarafı RS232 seviyeleri ile Pic tarafı RS232 seviyeleri farklıdır.
Pic de HIGH=5V ve LOW=0V dur. PC de(RS232 formatı) ise HIGH=-10V ve LOW= +10V dur. Pic in yolladığı +5V luk HIGH bilgisini PC nin anlayabilmesi için MAX232 onu -10V ta çevirir. Benzer şekilde PC bir şey yolladığı zaman  onun yolladıklarını MAX232 pic in anlayacağı seviyelere çevirir. Dikkat ederseniz Pic tarafında yalnızca 0-5V seviye var ama PC tarafında -10 , 0V (GND) ve +10V gibi bir birinden uzak olan voltaj seviyeleri mevcuttur.  Sinyal güvenliği için düşünülmüş bir sistem olsa gerek.

Ete

Powered by EzPortal