Kristof doğrudur birlikte ayrıntılı bilgi biraz daha:
basitçe iki uç noktayı, PC ve harici cihaz var RS232 ile iletişim. Cihaz ile komutlar göndererek iletişim kurarsınız, hatta bunlara rağmen gönderebilirsiniz. Basit ASCII metin veya ikili/hex kodları olabilir. İki cihaz arasında iletişim kurma şekli protokol olarak bilinir - ve uygulamanız bu protokolü cihaza 'konuşabiliyor' olması için uygulamalıdır.
RS485, RS232'den farklıdır; böylece PC'nize bağlı aynı seri bağlantı noktasında birden fazla aygıtı zincirleme yapabilirsiniz. Cihazınıza bağlı olarak, üzerinde çalışmanız ve alışmanız gerekenleri anladığına dair kendi protokolü olacaktır. Bu, bağlandığınız cihazlarla sağlanmalıdır.
Tipik olarak, protokol (en azından) Aşağıdaki bilgiye sahip olacaktır:
- Aygıt Adresi - bu genellikle donanım geçiş anahtarları veya ayarlanabilir, konuşmak istediğiniz cihazı ayırt etmek için bu kullanır gibi
- komut - Eğer üniteye
- veri göndermek isteyen gerçek komut - Herhangi ekstra veri belirli komutları Yani
için geçmesi gerekebilir, bir sınav Eğer üniteye gönderebilir ple komut gibi bakmak (bu yalnızca bir örnektir unutmayın) olacaktır:
$01FF9A
:
01
modül veya cihazlar tek adres FF
olduğunu 9A
olan komut türüdür Burada 01
cihaz adresi bulunan modül, komutu okuyacak ve 'hey sen benimle konuşuyor' komutunu çıkaracak ve daha sonra komut bilgisini işleyecektir. Diğer tüm cihazlar da verileri alacak, ancak bunun kendisi için uygun olmadığını fark edecektir.
Genellikle RS485 aygıtları, Hex verilerini kullanarak iletişim kurar, bu nedenle uygulamanızın harici aygıtlara hex komutları göndermesi ve dönüştürmeyi ilgili tüm yanıtlar için gerçekleştirmesi gerekir. Onaltılık verileri göndermek için Serial.Write(byte[], int,int)
adresine bakmanız gerekebilir. cihazlar. .NET seri port sınıfının daha ayrıntılı bir açıklama için
, onun soruya cevap vermez
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx
Bu bakınız. –