Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Visual Basic serijska komunikacija/ Pomoc

[es] :: Visual Basic 6 :: Visual Basic serijska komunikacija/ Pomoc

[ Pregleda: 2331 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zoran325
student

Član broj: 179220
Poruke: 2
*.rcub.bg.ac.yu.



Profil

icon Visual Basic serijska komunikacija/ Pomoc30.04.2008. u 13:53 - pre 194 meseci
Code:

Private Sub Form_Load()

MSComm1.CommPort = 1
MSComm1.Settings = "1200,N,8,1"
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True
MSComm1.RThreshold = 1

End Sub

Private Sub MSComm1_OnComm()
Dim Temperature As Variant

If MSComm1.CommEvent = comEvReceive Then
Temperature = MSComm1.Input
Text1.Text = Text1.Text + CStr(Temperature)
Text2.Text = Text2.Text + Format$(Now, "hh:mm:ss dd/mm/yy")
End If

End Sub


Kada stavim RTreshold 2 tada mi ispisuje neke karaktere u text1 (? itd) ali tada
mi se CommEvent desava svakih 10 s sto mi ne odgovara posto mi se podatak salje svakih 5 s
Kada stavim da mi je RTreshold 1 kao sto bi trebao jer saljem jednobajtni podatak
tada mi se ne pojavljuje nista u text1


[Ovu poruku je menjao Aleksandar Ružičić dana 30.04.2008. u 15:30 GMT+1]
 
Odgovor na temu

Aleksandar Vasic
Web Administrator, Uspon d.o.o
Čačak

Član broj: 91692
Poruke: 1226
*.eunet.yu.

Sajt: www.vasictech.net


+1 Profil

icon Re: Visual Basic serijska komunikacija/ Pomoc30.04.2008. u 17:36 - pre 194 meseci
pogledaj ovaj primer shto je rajko dao mozda ce ti pomoci


http://www.elitesecurity.org/p1925021
 
Odgovor na temu

stefanpn
Total anonymous
Programer

Član broj: 172809
Poruke: 509
79.101.176.*



+1 Profil

icon Re: Visual Basic serijska komunikacija/ Pomoc05.05.2008. u 23:49 - pre 194 meseci
Dobijas neke sljg!#@@ karaktere zato sto port otvaras binarno, pa ti verovatno i salje ASCII vrednosti a ne binarne vrednosti.
Promeni:

Text1.Text = Text1.Text + CStr(Temperature)

U:

Text1.Text = Text1.Text + Chr$(Temperature)

[Ovu poruku je menjao stefanpn dana 06.05.2008. u 13:02 GMT+1]
 
Odgovor na temu

Vlade Maksimovic

Član broj: 30342
Poruke: 79
*.beogrid.net.



+2 Profil

icon Re: Visual Basic serijska komunikacija/ Pomoc15.05.2008. u 20:11 - pre 193 meseci
Nisam baš najbolje razumeo. Jer ti i šalješ i primaš nešto sa serijskog porta?

RTreshold mislim da utiče samo kada šalješ podatak na serijski port, da bi ti uvek poslao sve a ne da šalje po 1 ili 2 bajta možeš njegovu vrednost postaviti na:
MSComm1.RThreshold = len(text3.text)
stim što ti je text3 tekst boks iz koga šalješ podatke

Code:

Private Sub Form_Load()

MSComm1.CommPort = 1
MSComm1.Settings = "1200,N,8,1"
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True
MSComm1.RThreshold = 1

End Sub

Private Sub MSComm1_OnComm()
Dim Temperature As Variant

If MSComm1.CommEvent = comEvReceive Then
Temperature = MSComm1.Input
Text1.Text = Text1.Text + CStr(Temperature)
Text2.Text = Text2.Text + Format$(Now, "hh:mm:ss dd/mm/yy")
End If

End Sub


Ovo bi trebalo da ti je sve OK, stim što ne znam zašta će ti:
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeBinary

Ja bih ovo tvoje napisao na sledeći način:

Code:

Private Sub Form_Load()

MSComm1.CommPort = 1
MSComm1.Settings = "1200,N,8,1"
MSComm1.PortOpen = True

End Sub

Private Sub MSComm1_OnComm()
Dim Temperature As Variant

Select Case MSCOmm1.CommEvent
Case comEvReceive
          Temperature = MSComm1.Input
          Text1.Text = Text1.Text + CStr(Temperature)
          Text2.Text = Text2.Text + Format$(Now, "hh:mm:ss dd/mm/yy")
end Select
End If

End Sub

 
Odgovor na temu

galahad
Slobodan Todorov
Radio-televizija Vojvodine,
Jack-Of-All-IT-Trades, Web redakcija
Novi Sad

Član broj: 20613
Poruke: 146
*.ADSL.panline.net.

Jabber: galahad@elitesecurity.org
ICQ: 52020296
Sajt: www.todorowww.net


+4 Profil

icon Re: Visual Basic serijska komunikacija/ Pomoc16.05.2008. u 09:33 - pre 193 meseci
Ono shto Stefan reche je tachno, otvarash port u binarnom modu, i dobijash ASCII vrednosti... RThreshold vrednost govori portu da okine Comm event na svaki broj primljenih karaktera... Ako je RThreshold = 2, Comm event tje biti pozivan svaki put kad input buffer na portu ima 2 karaktera... Ako tjesh da primash svaki bajt, stavi ovu vrednost na 1... Mozhesh i da pokushash sa InputLen = 1... Tako tjesh dobijati samo 1 bajt, koliko i treba... Stavi i SThreshold = 1, tako tje da shalje za svaki bajt koji se nadje u output buffer-u...
- SKRati link - JaZaKraljevo.rs -

"I have never let my schooling interfere with my education." - Mark Twain
 
Odgovor na temu

[es] :: Visual Basic 6 :: Visual Basic serijska komunikacija/ Pomoc

[ Pregleda: 2331 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.