Seri port hakkında herşey

Başlatan Gökhan BEKEN, 02 Haziran 2013, 03:26:16

Gökhan BEKEN

Arkadaşlar forumda dikkat ettim açılan 10 konudan 1'i seri port hakkında yardım istiyor. Birşeyler yazdım seri port hakkında umarım işe yarar. Seriport hakkında herşey dedim ama lafın gelişi yani. İlerde biraz daha kod ekleyip büyüteceğim dökümanı zamanım olursa.
kaynak: http://gokhanbeken.com/?p=753

1-    HİKAYE

Bu kısımda sık sık karşımıza çıkan eğer bilmiyorsak çoğu zaman çaktırmadan biliyormuş gibi bir tavır ürettiğimiz aslında oldukça yanlış bildiğimiz bazı ayrıntı görünen ama işin mantığını anlamamız açısından önemli olan kavramları işleyeceğiz.


Seriport: Masaüstü bilgisayarlarda bulunan, 9 adet pini olan, eski tip yazıcılarda, mouse'larda, modemlerde ve birçok cihazda bilgisayara bağlamak için kullanılan ve tabiki bizim yani hem bilgisayar yazılımcısı hemde elektronik devre tasarımcılarının sık sık kullandığı bir... bir .... nedir ya cümlenin sonunu getiremedim, neyse bir porttur :D Yeni tip bilgisayarlarda bulunmuyor malesef, komplo teorisi yürütecek olursak herhalde usb/rs232 çevirisi satan firmalarla anlaştıkları için bilgisayar üreticileri koymuyor bu portu ürettikleri bilgisayarlara. :D


Rs232:

Bildiğimiz seri porttur işte, öğrenmek gerekir, bir çok dijital cihazın ayarlarını yapmamız için bilgisayara bağlamamızda kullanılır. Yeni nesil cihazlar USB ile haberleşsede rs232 hala bir çok cihazda kullanılıyor ve de kullanılacak

Uart: Universal Asyncronous Receiver Transmitter demektir. Sizin anlayacağınız seri port'un işlerini yürüten çiplere denir. Bir çok mcu'da dahili olarak vardır. Ancak yazılımsal olarakta seri iletişim kullanılabilir, tabiki donanımsal olması herzaman daha iyidir.

Usart: Universal Synchronous Asynchronous Receiver Transmitter demektir. "Synchronou " kısmı senkron anlamına gelir. Anlayacağınız, UART'ın senkronize iletişim destekleyenidir. Peki senkron ne demek? Dataları clock eşliğinde göndermektir,  normalde TX,RX ile haberleşmeyi sağlayabiliriz ama senkron modunda bir tane de clock pini de ilave edilir ve datalar clock ile adından da anlaşıldıgı gibi senkronize edilerek gönderilir.Biz haberleşmemizi clocksuz yapacağız.

Paralel İletişim:

Digital olarak kodlanmış bilginin tüm bitleri aynı anda transfer ediliyorsa buna "paralel veri iletimi " denir. Paralel veri iletiminde iletilecek bilginin her biti için ayrı bir kablo bağlantısı sağlanır. Seri veri iletiminde, bir kerede bir karakterin sadece biri iletilir. Alıcı makine doğru haberleşme için karakter uzunluğunu, start - stop bitlerini ve iletim hızını bilmek zorundadır.

Seri İletişim:

Seri iletim bilginin tek bir iletim yolu üzerinden n bit sıra ile aktarılmasıdır. Bilgisayar ağları üzerindeki iletişim seri iletişimdir.

Herhangi bir iletişim yönteminde  kullanılan terimler:

a-Full-dublex seri iletişim:

Bu yöntemde her iki taraf da alıcı ve verici olarak çalışır.Yani aynı anda veri gönderip alabilirler.Telefon konuşmaları gibi.

b-Half-dublex seri iletişim:

Bu yöntemde de her iki taraf alıcı ve verici olarak çalışabilir.Fakat biri veri göndeririken diğer dinlemek zorundadır.Aynı anda karşı taraf veri yollayamaz.Telsiz konuşmaları gibi.

c-Simplex seri iletişim:

Bu yöntemde bir taraf verici bir taraf alıcıdır.Değişmesi mümkün değildir.Radyo yayınları gibi.

Not:Bu örnekler seri iletişim örnekleri değildir.Sadece iletişim formatını açıklamak için verilmiştir.

2-Rs232 için kullanılan entegreler ve datasheetleri:

Öncelikle neden bir çevirici entegreye ihtiyacımız var?

Birçok mikrodenetleyici 5 volt ile çalışır. Bu mikrodenetleyicilerin high Kabul ettiği değer 5v, low Kabul ettikleri değer ise 0volt yani gnd dir buna TTL seviye denir. Bilgisayar seri portu için high +12 V low -12 V civarıdır. Bu durumda bilgisayar ile mcu devremizi direkt bağlamamız uygun değildir.Kullandığımız çeviriciler seri port ile TTL devrelerin çalışabilmesini sağlayan birer entegredir. Örnek olarak max232, 5volt ile çalışan cihazlarla pc arasındaki çevirici işini yapar. 3.3 volt ile çalışan cihazlar için ise max3232 entegresini kullanabiliriz. Çoğu pic 3.3 volt ile de çalışabildiğinden(örneğin 16f628A) max3232 entegresini bu şekildede kullanabilirsiniz. LF serisi picler ise düşük voltaj ile çalışan piclerdir. Bu serideki picleri(örn: 16LF628) de bu entegre ile bilgisayarla konuşturabilirsiniz. Uzun Lafın Kısası= ULK J

3.3v için max3232

Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX3222-MAX3241.pdf

5v için max232

Datasheet: http://www.ti.com/lit/ds/symlink/max232.pdf

Çevirici entegre yerine transistör kullanmak:



en büyük eksisi max232 kadar yüksek hızlara çıkamaması.

3-Rs232 nin kablosu, konnektörü ve pinleri:









Aşağıdaki çizim max3232 veya max232 nin iç yapısının anlaşılması için tarafımdan çizilmiştir. 11 ve 12. Pinlere 1. Cihazı, 9. Ve 10. Pinlere ise 2. Cihazı bağlarız.  13 ve 14 pinlerine 1. Pc yi. 7 ve 8. Pinlerine ise 2pc yi bağlarız.  1. Pc den gelen veriler 11 ve 12. Pinlerden 1. Cihaza ulaşır. 2.pcden gelen veriler 9. Ve 10. Pinlerden 2. Cihaza ulaşır.

Pinlerin isimleri aklınızı karıştırabilir. Pin isimleri bilgisayara göre değil cihazlara göre aklınızda tutarsanız unutmazsınız.

11 pini "t1 in" dir bu pine alıcının tx pini girer ve alıcıdan 11. Pine giren tx verisi 14. Pinden(t1out) çıkarak PC nin RX pinine(konnektörün 2. pinine) girer.

13. pin "r1in" pinidir. Cihazımızın rx pinine girecek veriyi buraya bağlarız. Yani pc nin tx'i bu pine girer, ordan da voltaj seviyesi ayarlanarak 12. Pinden cihazımızın rx'ine ulaşır.

7,8,9 ve 10 pinleride aynı şekilde düşünebilisiniz bu kısma size bırakıyorum.



Aşağıdaki şemada p3 ve p4 sadece alıcı durumundadır. TX pinleri bağlı olmadığından gönderme yapamazlar. TX pinleri bağlı olsa idi tx ler çakışırdı bu yüzden bağlanmazlar.



4-Usb –rs232 çevirici:

Artık laptoplarda rs232 portu bulunmamaktadır. Ancak bu bizim için bir engel değildir, USB portundan rs232 çeviren cihazlar vardır. Laptoplarda kullanılmak üzere USB/RS232 çevirici cihaz:



5-Rs232 nin pic lerde kullanımı için örnek kodlar(css c):

CCS C yazılımı(Yazan: Serdar Çiçek):

/******************************************************

PIC16F877 ile RS232 Seri İletişim Uygulaması

PIC PROG/DEKA     : Port B jumper'ı LCD konumunda olmalı

*******************************************************/

#include <16f877.h>     // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

// Denetleyici konfigürasyon ayarları

#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.

#define use_portb_lcd TRUE   // LCD B portuna bağlı

#include <lcd.c>   // lcd.c dosyası tanıtılıyor

#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1) // RS232 protokolünün 9600 bit/sn baud hızında olacağını ve

// TX,RX uçlarının hangi pinler olacağını tanımlıyor

// parity bitinin olmadığını, stop bitinin 1 bit olacağı belirtiliyor

char   klavye[80];  // klavye isminde 80 üyeli bir dizi tanımlanıyor

#int_rda   // RX ucuna veri gelince meydane gelen kesme

void serihaberlesme_kesmesi ()

{

disable_interrupts(int_rda); // int_rda kesmesini pasif yap

output_high(pin_c5);  // RC5 çıkışı lojik-1

gets(klavye); // String ifadeyi al ve "klavye" adlı dizi değişkenine aktar.

printf("\n\rYazdiginiz Metin>  %s\n",klavye); // Satır atla, yeni satır,RS232 üzerinden klavye string ifadesini gönder,satır atla

printf(lcd_putc,"\f%s",klavye);  //LCD'yi temizle ve klavye string ifadesini LCD'de göster

output_low(pin_c5); // RC5 çıkışı lojik-0

printf("\n\rKlavyeden bir metin giriniz ve enter tusuna basiniz>"); // Satır atla, yeni satır,RS232 üzerinden belirtilen metni gönder

}

/********* ANA PROGRAM FONKSİYONU********/

void main ( )

{

setup_psp(PSP_DISABLED);        // PSP birimi devre dışı

setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı

setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı

setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok

setup_adc(ADC_OFF);             // ADC birimi devre dışı

setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı

setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı

output_low(pin_c5); // RC5 çıkışı ilk anda sıfırlanıyor

lcd_init();   // LCD'yi hazırla

printf("\r**************** Merhaba *********************"); // Yeni satır, RS232 üzerinden belirtilen metni gönder ve satır atla.

printf("\n\rKlavyeden girdiginiz bilgiler LCD'de gorunecektir\n\n"); // Satır atla, yeni satır, RS232 üzerinden belirtilen metni gönder

printf("\n\rKlavyeden bir metin giriniz ve enter tusuna basiniz>"); // Satır atla, yeni satır,RS232 üzerinden belirtilen metni gönder

enable_interrupts(GLOBAL);  // Aktif edilen tüm kesmelere izin ver

while(1) // Sonsuz döngü

{

enable_interrupts(int_rda); // int_rda kesmesi aktif

}

}




6- Tek uart ve çift uart donanımı bulunan MCU'lar

Tek UART'lı mcu için örnek  verecek olursak sıradan piclerden 16f628 olabilir.

Çift UART için 18f87k22 gibi gelişmiş PIC ler kullanılabilir. Tabi pic dedik ama ATMEL , ARM gibi mcu larında çift UART lıları vardır elbet.

Peki neden çift UART? RS232 ile haberleşmeniz gereken 2 adet cihaz var ise, çift uart kullanmanız gerekir. A cihazı ilehaberleşirken UART1'i, B cihazı ile haberleşirken UART2 yi kullanırsınız. Ancak illaki tek uart kullanmanız gerekirse, dipswitch ile kullanıcının seçim yapmasını sağlayabilirsiniz, olmadı master/slave ilişkisi kurabilirsiniz.

18F87k22'nin rs232 pinleri:



Not: 18f87k22 için hazırladığım dökümanı okumak için tıklayınız: http://gokhanbeken.com/?p=735

Dip switch:



Master/Slave ilişkisi:







7-Sanal seri port programları:

Tera Term programından bir görüntü:



İndirme linki: http://logmett.com/index.php?/download/tera-term-478-freeware.html

8-Rs232 ve rs485 in farkı:

1-Rs485 protokol değil haberleşme fiziksel arayüzüdür. Rs232 hem fiziksel olarak portu hem de protokolü anlatmakta kullanilir. Prokol: iki cihaz arasındaki haberleşme için ortak bir iletişim yöntemi demektir...

2-Rs485 sadece 2 kabloyla(tx ve rx) haberleşir, rs232 ise 3 kablo ile haberleşir(tx,rx ve gnd)

3-Rs485 rx ve tx üzerindeki gerilimler arasındaki farka bakılarak sinyal durumları hesaplandığından (yani her iki kablo birbirinin referansıdır) ve gürültü bu iki adet kabloya aynı miktarda bineceğinden gürültülü sinyal ile normal sinyal arasında taşıdığı bilgi açısından bir fark olmamaktadır. ancak rs232'de referans gnd (ground yani bildiğimiz sıfır voltaj temel referans) olduğundan gürültü kabloya bindiğinde sinyalin değerini artırıp azalttığında sinyalin taşıdığı bilgi değişim gösterebilmektedir.

4-Rs485 1,2km kadar haberleşme imkanı sağlar. Rs232 de bu 10metre civarıdır.

5-Rs485 ile 32 cihaz birbirine veri gönderip, birbirinden veri alabilir. Rs232 de hem veri gönderip hem very almak için sadece 2 cihaz kullanabilirsiniz. Ancak sadece 1 cihazın veri göndermesi yeterli ise diğer cihazların tümü alıcı olmak şartıyla çoklu iletişim kullanılabilir. Yani 1 sunucu olur çok sayıda alıcı olur. Alıcılar sadece okuma yapabilir very gönderemez. Çünkü sunucunun rx pinine sadece 1 adet tx pini bağlanabilir.

Gördüğünüz gibi 485 çok daha üstündür öğrenmekte fayda var. Rs485 hakkında daha fazla bilgi edinmek için dosyayı indiriniz: http://www12.zippyshare.com/v/65684380/file.html

9-Tx ve rx pinlerine bağlanan ledler(transistörler)

İletişimin gerçekleştiğini ledler ile göstermek için aşağıdaki şema veya benzer bir şema kullanabilirsiniz. Aşağıdaki şemada pnp transistör kullanıldığı için hat low olunca ledler yanar. NPN transistör kullanırsanız hat high olunca ledler yanar.



10-Pc de tx ve rx pinini birbirine bağlayarak test etmek:

Max232 veya max3232 devrenizi test etmek istiyorsunuz ancak elinizde pic yok. Ya da bir devre yaptınız sorun var, iletişim sağlanamıyor. Sorunun pic temi, çeviricidemi yoksa kullandığınız veya yazdığınız programda mı olduğunu bilmiyorsunuz. O halde ilk başta pcnin tx ve rx pinlerini hiç bir yere bağlamayın sadece birbirlerine kısa devre edin. Bu durumda pc den programla gönderdiğiniz verinin size size aynen geri gelmesi gerekir. Eğer gelmiyorsa programınızda sorun vardır. Bu aşamada sorun yoksa max232 den cihaza(pic olabilir) giden tx ve rx pinlerini kısa devre edip tekrar programdan veri gönderin eğer gönderdiğiniz veriler size tekrar geliyorsa çevirici entegre devrenizde de sorun yok demektir. Yani sorun pic teki yazdığınız programdadır.

11- Proteustaki connektörler, isisteki rs232 terminalin ayarları







Eğer isiste virtual terminalin ayarlarını yapmazsanız aşağıdaki gibi saçma değerler alabilirsiniz.



Ayarları yapmak için virtual terminal elemanına çift tıklayabilir veya sağ tıklayıp edit properties diyebilirsiniz.  Max232 kullandığımız için polarity'yi normal değil invert yani ters çevrilmiş seçmemiz gerekir. Baud rate yi de 9600 ayarlarız genelde, ancak istediğiniz gibi değiştirebilirsiniz burdan. Tabi cihazlarınızda da aynı hız ayarlı olmalı.



12-C# ta seriport veri görderme ve almak için kodlar:

Not: Projenize 1 adet buton, 1 adet textbox, 1 adet combobox ve en önemlisi 1 adet serialPort nesnesi ekleyiniz.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO.Ports;

&nbsp;

namespace rs232_projesi

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

&nbsp;

private void Form1_Load(object sender, EventArgs e)

{

string[] portlar = SerialPort.GetPortNames();  // portları dizi halinde aldık

foreach (string port in portlar)

{

comboBox1.Items.Add(port.ToString()); // Portlarımızı combobox ın içine aldık.

}

&nbsp;

CheckForIllegalCrossThreadCalls = false;

/*

Textboxlar main thread'a bağlıdır, burada oluşan bir nesnedir.

Seriportun datareceived eventi kendine başka bir thread açar ve sürekli dinleme yapar ki böylece yeni data geldiğinde bunu alabilelim. Bu satırı yazmazsak: Event içinde datayı alıp, başka thread'a ait textboxa yazdırmaya çalıştığımız için derleyici "Cross-thread operation not valid: Control 'textBox1' accessed from a thread other than the thread it was created on." yani "Çapraz-iş parçacığı işlemi geçersiz ; hatası verir.

textbox1 bu thread üzerinde oluşturulmamış ki" mealinde birşeyler söylüyor, ee o zaman nasıl mümkün? Tabiki, bu denetimi aşağıdaki kodu form_load eventine veya form constructor'ının içine yazarak devre dışı bırakırsan.

CheckForIllegalCrossThreadCalls = false;

*/

}

&nbsp;

void seri_port_baglan()

{

if (serialPort1.IsOpen) // Bağlantıyı açıyoruz.eğer önceden bağlan butonuna basmış isek yani bağlantıyı açmışsak aşağıdaki hata mesajını verecektir.

{

MessageBox.Show("Port Açık Bulunmaktadır..", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button3);

return;

}

else

{

try

{

serialPort1.BaudRate = int.Parse("9600"); // Hız olarak 9600 verdik.

serialPort1.DataBits = int.Parse("8"); // Veri bit ini de 8 bit olarak verdik

serialPort1.StopBits = System.IO.Ports.StopBits.One; // Durma bitini tek sefer olarak verdik.

serialPort1.Parity = Parity.None; // eşlik bit ini vermedik.

serialPort1.PortName = comboBox1.Text; // Port adlarını comboboxtan alıyoruz.

serialPort1.Open(); // Bağlantıyı açıyoruz

MessageBox.Show("Bağlantı Başarılı");

}

catch (Exception) // Herhangi bir hata anında alttaki hata mesajını alacağız..

{

MessageBox.Show("cihazınız bağlı değil...", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button3);

}

}

}

&nbsp;

public string trDuzelt(string a) //Türkçe karakerleri, ingilizce karakterlere çevirmek için kullanıyoruz

{

a = a.Replace("İ", "I");

a = a.Replace("Ü", "U");

a = a.Replace("Ç", "C");

a = a.Replace("Ş", "S");

a = a.Replace("Ö", "O");

a = a.Replace("Ğ", "G");

a = a.Replace("ı", "I");

a = a.Replace("ü", "U");

a = a.Replace("ş", "S");

a = a.Replace("ç", "C");

a = a.Replace("ğ", "G");

a = a.Replace("ö", "O");

return a;

}

&nbsp;

private void seri_port_data_gonder(string gonderilecek_veri)

{

try

{

if (serialPort1.IsOpen)

{

serialPort1.Write(gonderilecek_veri);

System.Threading.Thread.Sleep(150);

//alıcı cihaza okuması için biraz süre tanımak gerek, kul yapısı sonuçta :D

}

}

catch (Exception)

{

MessageBox.Show("Sonuç: Başarısız !", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button3);

}

}

&nbsp;

void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)

{

byte[] buffer;

buffer = new byte[1];

serialPort1.Read(buffer, 0, 0);

MessageBox.Show("Gelen veri:" serialPort1.ReadExisting());

// her gelen veriyi otomatik görmenize gerek yoksa bu satırın başına // koyunuz

}

&nbsp;

private void button1_Click(object sender, EventArgs e) //veri gönderme butonu

{

seri_port_data_gonder(textbox1.text+(Char)13);

//textboxtaki veriyi, yazdığımız fonksiyon aracılığıyla rs232 den gönderiyoruz.

//char13, enterin ascii kodudur.

}

&nbsp;

}

}
Özel mesaj okumuyorum, lütfen göndermeyin.

MrDarK

Gökhan güzel bir yazı dizisi olmuş seri port hakkında ;

Yeni başlayanları oldukça bilgilendirecektir. Ama bana kalırsa yazdığın o konuyu buraya koyup altına kaynak diye ekleseydin daha bir hoş olurdu sanıyorum. Çünkü bu şekilde açtığın sayfa ile paylaştığın bilginin picprojeye bir anlamı yok gibi. En azından benim kendi fikrim bu şekilde yanlış anlamazsın umarım.

Saygılarımla.
Picproje Eğitim Gönüllüleri ~ MrDarK

Gökhan BEKEN

Dediğiniz gibi tekrar düzenledim hocam.
Özel mesaj okumuyorum, lütfen göndermeyin.

MrDarK

Eline sağlık işte şimdi beğendim :)

Ayrıca birşey ekleyeyim konuyu canlandırmak adına , Seri PORT programlarından en çok kullanılanı bana kalırsa Hercules

Birçok projemde hercules kullanıyorum, hem HEX editoru hem Text editoru içinde barındırmakta,

Başka başka artılarıda var, Genel olarak siz ne kullanıyorsunuz ?
Picproje Eğitim Gönüllüleri ~ MrDarK

Gökhan BEKEN

Serial Port Monitor - Eltima Software yazılımını kullanmıştım detaylar güzeldi, ayrıca arayüzde güzeldi ancak tera term kara ekran ve sade pratik ıvır zıvır yok o yüzden teraterm kullanıyorum. Daha doğrusu fazla detaylı işim olmuyor, o yüzden sade tercih ediyorum. Bir de Hyper terminali denemiştim ama iğrenç bir program, birde ücretli olması kullanmama sebebim.
Hercules programını biraz araştırdım güzel birşeye benziyor, o da ücretsiz yanılmıyorsam. Terminal lazım olduğunda onu da deneyeceğim.
Bu konuda birde kendi çözümüm var. C# ile bir arayüz yazdım, gsm cihaza sms felan göndermek için ama tam olarak bitmedi.
Özel mesaj okumuyorum, lütfen göndermeyin.

jackal183

hocam şu iki ifade de sanki bir tezatlık var gibi:

5-Rs485 ile 32 cihaz birbirine veri gönderip, birbirinden veri alabilir. Rs232 de hem veri gönderip hem very almak için sadece 2 cihaz kullanabilirsiniz. Ancak sadece 1 cihazın veri göndermesi yeterli ise diğer cihazların tümü alıcı olmak şartıyla çoklu iletişim kullanılabilir. Yani 1 sunucu olur çok sayıda alıcı olur. Alıcılar sadece okuma yapabilir very gönderemez. Çünkü sunucunun rx pinine sadece 1 adet tx pini bağlanabilir.

burdaki 5. madde ile biraz daha üstünde vermiş olduğunuz master slave slave slave bağlantı şekli tezat oluşturuypr. bu şekil rs485 için geçerlidir. rs232 için değil

OG

Alıntı YapBilgisayar seri portu için high +12 V low -12 V civarıdır.
Dalgınlıkla ters yazılmış olmalı.
EIA232 normu için   
LOGIC H ==> - voltaj  (MARK)
LOGIC L ==> + voltaj  (SPACE)
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

demircan

güzel anlatım emeğinize sağlık küçük bişey eklemek istiyorum yeni nesil anakartlarda lpt ve rs-232portu bulunmaktadır...
Direnç kızarsa kondansatörün tepesi atarmiş..

kudretuzuner

#8
Merhaba,
Gökhan verdiğin bilgiler için teşekkürler.PC tarafında,basit seri port çalışmaları için yazdığım ufak bir programım vardı paylaştım mı? Bilmiyorum. Tekrar paylaşayım dedim.
https://www.dropbox.com/s/9zkk8l93he08zn9/BCD_CALSMA.rar
Amatör

Salih

#9
@Meftun Çok Güzel bir hizmet yaptın. Emeğine sağlık.

Emre MERMİ

çok teşekkürler hocam bilgilendirmeniz için çok güzel bir çalışma

baran123

Abi ellerine sağlık şimdi aydınlandım tüm soru işaretleri gitti çok şükür :)

Gökhan BEKEN

Yorumlarınız için teşekkür ederim. Yazıyı yazalı 1 seneyi geçmiş, şimdi baktımda acemice olmuş, en azından görsellere biraz daha özenebilirdim.
Yanlış kısımları düzeltenlere de ayrıca teşekkür ederim.
Özel mesaj okumuyorum, lütfen göndermeyin.

Kabil ATICI

rs485 ile iletişimde sınırlama olduğunu düşünüyorsanız, birde max488 entegresine bakın.
ambar7

LukeSkywalker

Seri port yerminal progrqmi olarak putty kullaniyorum, kafam rahat.