Arkadaşlar seri porttan aldığım veri otomatik olarak karaktere dönüştürülüyor, mesela 105 verisi geldiğinde label1.caption=mscomm1.input dediğimde ekranda i görüyorum105 bilgisi geldiğinde ekranda da 105 görmek için nasıl bir şey yapmalıyım, kodlarım bu şekilde
Private Sub Form_Load()
MSComm1.PortOpen = True
End Sub
Private Sub MSComm1_OnComm()
Dim a As Integer
a=mscomm1.input
MSComm1.RThreshold = 1
Label1.Caption = a
End Sub
buarada vb6.0 kullanıyorum
Private Sub MSComm1_OnComm()
Label1.Caption = asc(mscomm1.input)
End Sub
invalid procedure call or argument hatası alıyorum
integer neden tanımladın ?
dim MyValue as byte
MyValue= MSComm.Input
şeklinde denermisin.
(Uzun Süredir Kullanmıyorum vb.60 ı)
Şu an vb6 lisans alıcam desen mümkün olmaz mı acaba ? ya da, yok diye bedava hale dönüşmüş sayılır mı
Konuyu bombalayacağız yine.
Ne yapacaksınız VB.6 yı onun yerine Vbnet yada c# Express edition kullanın. Bedava. (Lisans ile alakalı problem varsa.)
peki hocam bu Vbnet yada c# Express edition larda bedava olmasından dolayı bir sıkıntı yok mu? eksik kısmı nedir? ben para vermek isterim ya da korsan kullanırım bedava toolda sorun çıkar gibi görünüyor. illa ki bir yeri eksiktir.
Eksik yerleri var tabiki. (Bir karşılaştırma vardı neler var yok gibi ama bulamadım)
Ama windows masaüstü / web / (artık cepte olmuş win8 ile birlikte) programlarını yazarsınız istediğiniz gibi.
http://www.microsoft.com/visualstudio/tur/products/visual-studio-express-for-windows-phone (http://www.microsoft.com/visualstudio/tur/products/visual-studio-express-for-windows-phone)
mesaj birleştirme:: 07 Mart 2013, 11:41:05
http://tr.wikipedia.org/wiki/Microsoft_Visual_Studio (http://tr.wikipedia.org/wiki/Microsoft_Visual_Studio)
bendeki vb6 lisanslı, bu sorunla alakalı herşeyi denedim ama olmuyor
mesaj birleştirme:: 07 Mart 2013, 11:50:04
Alıntı yapılan: muhittin_kaplan - 07 Mart 2013, 10:57:03
integer neden tanımladın ?
dim MyValue as byte
MyValue= MSComm.Input
şeklinde denermisin.
(Uzun Süredir Kullanmıyorum vb.60 ı)
o integer'ı denemek için koymuştum tesadüfen öyle kopyalamışım, sadece string koyarsam karakterler geliyor, string dışında ne koyarsam koyayım type mismatch diyor
Karekter olarak okuyabiliyorsan, karekteri çevir.
mesaj birleştirme:: 07 Mart 2013, 13:12:40
access dede kod yazması zor oluyormuş :)
aşağıdaki kod z nin (dolayısıyla a nın) sayısal değerini verir. seriporttan aldığın bilgiyi buraya eşitle
Dim i As Byte
Dim z As String
z = "a"
i = Asc(z)
a=mscomm1.input 'a eşittir gelen bilgi
b=asc(a) 'b ye a nın ascii değerini at diyorum
label1.caption=b ' label1'de b'yi göster diyorum
invalid procedure hatası veriyor bu şekilde yapınca, sürekli aynı bilgi gelmiyor ki, z="a" diyeyim,z'yi sabit bir karaktere eşitlemişsiniz benim gelen bilgim değişken
değişken tanımlamalarını vs verirmisin.
Ayrıca Program yazabiliyorsan biraz yorum yapmalısın. Ben orada z ye "a" karekterini attım. sen mscomm dan gelen bilgiyi atacaksın.
mesaj birleştirme:: 08 Mart 2013, 11:07:19
MCU dan göndermek için kullandığın komutuda yazarmısın.
birşey farkettim, asc kullandığımda ilk programı açıp sonra devreyi çalıştırdığımda ilk gelen bilgide invalid procedure veriyor, ama ilk devreyi çalıştırdığımda sonra programı açtığımda düzgün çalışıyor
MCU programını istememdeki sebep bu. Muhtemelen gönderirken bilginin /r/n gibi next line, return gibi bilgileri göndermiyorsun. Eksik birşeyler var..
include "modedefs.bas"
trisc=%00000001
sayi var byte
sayi=0
dongu:
serout portc.6,t2400,[sayi]
pause 50
sayi=sayi+1
if sayi=255 then
sayi=1
else
goto dongu
endif
goto dongu
end
mesaj birleştirme:: 08 Mart 2013, 11:33:31
buarada sanal com portu ile isis simülasyonu yaptığımı da söyleyeyim..
mesaj birleştirme:: 08 Mart 2013, 12:01:19
bir test yaptım, com portla alakalı olabilirmi acaba diye
rb1'e bir anahtar yerleştirdim anahtar kapanınca döngüyü başlat dedim
ilk programı açtım sonra devreyi açtım hiçbir veri gelmediği hallde hata veriyor mscomm eventine bile girmiyor, simülasyonun ortasında programı açtığımda anahtara bastığımda veriler akıyor, sorun %99 simülasyon kaynaklı, evime gidince devremin üzerinde deneyeceğim