Data Gönderim Formatı?

Başlatan mustafa_cmbz, 09 Mayıs 2023, 21:17:02

mustafa_cmbz

Merhabalar..

Bir cihaz var ve bir pc programına bağlanıp hafızaya aldığı değerleri pc ye aktarıyor.

Cihazın dökümanlarını buldum ve orada şöyle bir formatta data gönderdiğini söylüyor.



Aynı bu format şeklinde benimde data göndermem gerekiyor pc programına fakat bir Türlü sağlıklı bir iletişim kuramadım.Acaba nerede yanlış yapıyorum ?

  
  BYTECIK  = $50
  RANGE    = $30    ' hepsi byte
  C_R      = $0D
  L_F      = $0A
  
  
  HSerOut [BYTECIK,BYTECIK,BYTECIK,BYTECIK]
  HSerOut [C_R,RANGE,C_R]


 

Bu şekilde gönderiyorum kontrol ediyorum data sağlıklı şekilde iletiliyor fakat pc tarafında program data almıyor..

Z80

MCU tarafında seriport ayarını  "8 Bit data, none parity ve 2 stop bits" olarak ayarlaman gerekmiş.

Genellikle  default "1 stop bit" olur.

PC tarafında "1 Stop bit" veya MCU tarafında "2 Stop bits" olarak ayarlaman gerek. Yoksa iki seriport anlaşamaz.
 

mustafa_cmbz

Hocam bu pc tarafında aygıt yöneticisinden donanım stop bit 1 benim picte de stop bit 1

Fakat bu cihazın data gönderim formatı bu şekilde not edilmiş siz farkettiniz acaba programda data alımında böyle bir şey mevcut mudur.

Son olarak proton da bu stop bit 2 yi nasıl ayarlıyacağım acaba?

yas

Aygıt yöneticisindeki varsayılan ayarların hiçbir ehemmiyeti yok. Program portu açarken hangi konfigürasyonu tanımlıyorsa port o formatta çalışacaktır. En güzeli bilgisayarda çift seri port kullanıp birbirlerine bağlayıp, birisinden terminal programla data gönderip (burası mcu tarafı oluyor) diğerini de programın kullanmasını sağlayarak aradaki bağlantıyı taklit etmek. Kullandığınız mcu (pic) hangisi acaba? Neden soruyorum derseniz 16bit lik pic serileri hariç diğer eski serilerde 9bit lik uart bulunsa bile parity işlemleri donanımsal olarak yapılamıyor. Yazılımda manipüle etmek gerekli yada yazılımsal seri haberleşme kullanmak gerekli.

mehmet

Bir "Klon Lojik Analizör" edinmenizi
tavsiye ediyorum...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

Z80

#5
2 Stop bit olduğunu söylüyorsa program 2 stop bit ister.

Proton'da 2 stop bit ayarlanabiliyor mu bilmiyorum. Ayarlanabiliyorsa o şekilde deneyin. Belki Soft seriport tanımımda vardır. Olmuyorsa data biti 9 bit seçip 9. biti her byte gönderimde "1" yani high yapmakla çalışabilir diye düşünüyorum.

9. Bit sahte stop bit olacak, birde kendi eklediği stop bit var, toplamda 2 stop bit olacak.
 

hmakdeniz

Öncelikle vsp programını kurun ve gerçekten pc tarafında portu nasıl açtığını ögrenin.




Resimde açılan portun data bit, parity ve stop bitini görebilirsiniz.

mustafa_cmbz

Alıntı yapılan: hmakdeniz - 11 Mayıs 2023, 16:02:01Öncelikle vsp programını kurun ve gerçekten pc tarafında portu nasıl açtığını ögrenin.


(Resim gizlendi görmek için tıklayın.)

Resimde açılan portun data bit, parity ve stop bitini görebilirsiniz.

bana tam olarak kullandığın programın linkini atabilirmisin ben bir tane yükledim ama senin resimdeki gibi config ayarlarını ve göstermiyor.

makdeniz

Virtual Serial Port
Link veremiyorum çünkü çok daha önceden kurduğum bir programdı.

Fiziksel portları direkt olarak göstermiyor ama dediğim şekilde yaparsan görebilirsin.

Fiziksel Port'un Com1 ise add pair butonu ile com1 ve com2 portlarını bağla.
Com 1 fiziksel portun olmuşken com2 sanal bir port olacak ve iki portuda sanal portların altında göreceksin.

Sonrasında port açıldıgı anda baud, data bit ve parity'i görmen lazım
Karanlık olmadan aydınlık, Ölüm olmadan yaşam mantıksız.

mustafa_cmbz

Alıntı yapılan: makdeniz - 12 Mayıs 2023, 13:43:58Virtual Serial Port
Link veremiyorum çünkü çok daha önceden kurduğum bir programdı.

Fiziksel portları direkt olarak göstermiyor ama dediğim şekilde yaparsan görebilirsin.

Fiziksel Port'un Com1 ise add pair butonu ile com1 ve com2 portlarını bağla.
Com 1 fiziksel portun olmuşken com2 sanal bir port olacak ve iki portuda sanal portların altında göreceksin.

Sonrasında port açıldıgı anda baud, data bit ve parity'i görmen lazım

çok faydalı bir bilgi oldu hocam..Çok teşekkür ederim..dediğiniz şekilde yapınca evet tüm port açma bilgilerini görebiliyorum...Çok çok sağolun.