Pic ve Seri Port Haberleşmesi

cok tşk pic_achu yararlı görünüyor verdiğin bilgiler,denicem.Aslında vb6 da bildiğin kodlar varsa onları paylaşsan ,ben de üzerinden geliştirsem süper olurdu:) varmı bole bişi,bole site vs.?? arıyorum günlerdir ama cok kayda deger bişi bulamadım
 
Ben pic ile analıg sıcaklık ölçümü yaparak bu bilgiyi seri porta aktardım. ordanda webde bulunan bir veritabanına yazdırdım. veritabanındanda bir web isitesinde online sıcaklık bilgisini gösterdim.


takıldığınız yer nedir ?
 
arkadaşlar benımbe empılap programını çalıştırmak için bilgisayarımın paralele port olması lazım ama serı portlu buna hayalı bı paralel port tanıtamazmıyım
 
selam arkadaslar ben yeni vb kullanmaya baslıyacagım bir ara yuz programı yazıp girdigim sıcaklık degerlerini ruzgar siddeti nem bilgilerini piclere aktarıp onları surmeyi dusunuyorum nasıl bir yol izlemeliyim nasıl algoritma olusturmalıyım biraz yardım alabilirmiyim
 
benn de bişi sorsam bu baslaık altında. ayıp olurmu acaba?
mscomm la yenı yenı tanıstım az cok da anladım ama tam olarak emrimde degil. bası buyruk davranıyoristediklerimi yapmıyor
soye ki:
telefonumu seri porta ile bılgısayara bagladım termınalden at komutlarıyla kontrol edebılıyorum. bunu bıde basıcle denıyım dedım. verıyı telefona gonderebılıyorum ancak telefondan gerıye hangı komutlar geldı onalrı okuyamamıyrum. yanı termınalde AT yazıdım zaman OK goruyorum. bunu vbasic de de gormelıyım. nasıl?yardımlarınızı beklıyorum
 
bir timer koyup timerada aşağıdakileri yazarsan gelen datayı görürsün

Private Sub Timer1_Timer()
Text1 = Text1 & MSComm1.Input
End Sub
 
intervalı 10 yaptım. ıslem sonrası text1 bombos gorunuyor
 
olmuyor yine denedim ama olmuyor
 
Arkadaşlar neden VB'ye bu kadar takılmıssınız?
VB'nin geleceği yok.
Bence .NET ile kullanacagınız C# ile çok daha yetenekli şeyleri kısa sürede kolayca yapabilirsiniz.
zamzam23 bu konuda Event(Olaylarla) ile Seri portu okuman daha iyi olacaktır.
Örneğin .NET 2.0'da SeriPort bileşeni var.
Ve onda DataReceived olayı var. Yani veri gelmeyene kadar program hiçbirşey yapmıyor.
Ne zaman SeriPorttan ver geldiğinde bu olay tetikleniyor.
Burada fonksiyonun içinde
string degisken = SeriPort.ReadLine();
vb. demeniz yeterli.


Kolay gelsin.
 
Kardeş öyle desene ;D mscomm ile ilgili takıldığın yerler varsa sorarsın kullanımı şöyle: ;)


MSCOMM Seri iletişim kontrolü:

Bu kontrolü kullanabilmek için araç kutusuna sağ tıklayıp Components i açın
Sonra mscomm control yanındaki kutucuğu işaretleyip projeye ekleyin

1.CommPort
Kullanılacak com portunun numarası bildirilir

Kod:
MSComm1.CommPort = 2		‘COM2 yi kullan


2.Settings
Kullanılacak com portun ayarları yapılır

Kod:
MSComm1.Settings = “9600,N,8,1”		‘Hız, Parity, Data uzunluğu, Stop biti


3.PortOpen
True değeri verilince kullanılacak portu açar
False değeri verilince kullanılacak portu kapar
Kod:
MSComm1.PortOpen = True		‘Com portu aç


4.Input
Comm porttan bilgi okunur
Porta gelen ve buffer da bekleyen bilgi bu özellikle öğrenilir.

Kod:
Text1.Text = MSComm1.Input		‘Textbox a gelen bilgiyi yaz


5.Output
Comm porta bilgi yazılır

Kod:
MSComm1.Output = “Merhaba”		‘seri porttan Merahaba bilgisini gönder

6.InputLen
Porta gelen bilgiler alınıncaya kadar Buffer da tutulur. InputLen özelliği ile okuma yapılırken
Kaç karakterlik bloklar halinde okuma yapılacağı belirlenir. Bu özelliğe 0 verilirse Bufferdeki
Tüm karakterler tek seferde okunur.

Kod:
MSComm1. InputLen = 1		‘1 karakterlik blok halinde buffer dan bilgi oku
MSComm1. InputLen = 0		‘Bufferdaki tüm karakterleri oku

7.InputMode
Text modunda gelen bilginin ascii karşılığı olan karakter olarak okuma yapılır
Binary modunda gelen bilginin binary karşılığı olan bir bytelık bilgi olarak okuma yapılır

Kod:
MSComm1. InputMode = 1			‘ text modunda bilgi okur

MSComm1. InputMode = 0			‘ binary modunda bilgi okur

8.InBufferSize

Normalde Buffer uzunluğu 1024 byte ve buffer dolmadığı sürece problem çıkmaz.
Eğer bu değer yeterli değilse InBufferSize özelliği ile buffer belleği artırılabilir.
Kod:
MSComm1.InBufferSize = 2048	‘Buffer belleği 2048 byte


9.InBufferCount
Bufferde bekleyen karakter sayısı bu özellikle öğrenilir.
Okuma yapmadan önce bu özelliğe bakılarak buffer de bekleyen karakterlerin olup olmadığını anlayabiliriz. Ayrıca bu özelliğe 0 verilirse buffer temizlenir

Kod:
MSComm1.InBufferCount = 0	‘Buffer belleği temizle

Text1.Text = MSComm1.InBufferCount 	‘Buffer da varsa bekleyen karakter sayısını textbox a yaz

Dostum mükemmelsin bir konu ancak bu kadar anlaşılır ve güzel anlatılır.
Bilgine misli misli bilgi katasın emeğine sağlık.
 

Forum istatistikleri

Konular
129,834
Mesajlar
930,598
Kullanıcılar
452,662
Son üye
Yılmaz Çetiner

Yeni konular

Geri
Üst