www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

COM port in Visual Basic
Pojdi na stran 1, 2, 3  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
toncibalonci
Član
Član



Pridružen-a: Pet 03 Avg 2007 21:12
Prispevkov: 331
Aktiv.: 1.52
Kraj: Dravograd

PrispevekObjavljeno: Ned Nov 02, 2008 10:19 pm    Naslov sporočila:  COM port in Visual Basic Odgovori s citatom

Rad bi povezal mikrokontroler (89c2051) z računalnikom preko COM porta. Kako naj to izvedem v Visual basicu. Rad bi bral in pošiljal podatke. Prosim za pomoč. Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
RokO
Član
Član



Pridružen-a: Čet 23 Nov 2006 11:14
Prispevkov: 120
Aktiv.: 0.53
Kraj: Kranj

PrispevekObjavljeno: Pon Nov 03, 2008 1:10 am    Naslov sporočila:   Odgovori s citatom

Osebno mi je s povezavami in nasveti pomagala ta stran:

http://www.xtremevbtalk.com/showthread.php?t=264009
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
toncibalonci
Član
Član



Pridružen-a: Pet 03 Avg 2007 21:12
Prispevkov: 331
Aktiv.: 1.52
Kraj: Dravograd

PrispevekObjavljeno: Tor Nov 04, 2008 11:05 pm    Naslov sporočila:   Odgovori s citatom

Naredil sem tako:

Private Sub Form_Load()
MSComm1.RThreshold = 3
MSComm1.InputLen = 2
MSComm1.Settings = "4800,N,8,1"
MSComm1.DTREnable = False
MSComm1.CommPort = 3
MSComm1.PortOpen = True

End Sub

Private Sub MSComm1_OnComm()
Dim Data As String
Data = MSComm1.Input
Label1 = Data

End Sub

Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
End Sub

Stvar sicer deluje ampak izpisuje čudno,rad bi da mi izpisuje številke v eno vrstico,ne pa v dve ali tri tako kot zdaj. Na MCU imam program ki mi na pritisk tipke šteje navzgor,številke pa bi rad izpisoval na računalniku. kako naj naredim izpis v eno vrstico? Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
S56RGA
Član
Član



Pridružen-a: Čet 11 Sep 2008 13:33
Prispevkov: 325
Aktiv.: 1.59
Kraj: Koper

PrispevekObjavljeno: Sre Nov 05, 2008 10:47 am    Naslov sporočila:   Odgovori s citatom

Poskušaj iz stringe odstranit vbcr in vbnl.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
toncibalonci
Član
Član



Pridružen-a: Pet 03 Avg 2007 21:12
Prispevkov: 331
Aktiv.: 1.52
Kraj: Dravograd

PrispevekObjavljeno: Sre Nov 05, 2008 11:29 am    Naslov sporočila:   Odgovori s citatom

Saj bi če bi vedel kako! Malo pomoči prosim.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 723
Aktiv.: 3.04
Kraj: Severna primorska

PrispevekObjavljeno: Sre Nov 05, 2008 11:43 am    Naslov sporočila:   Odgovori s citatom

Čez vsebino spremenljivke Data se sprehodiš z eno zanko in preverjaš kateri znaki so notri.
Če so prisotni znaki, ki ti pomenijo prelom vrstice jih nadomestiš z na primer presledkom.
Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
toncibalonci
Član
Član



Pridružen-a: Pet 03 Avg 2007 21:12
Prispevkov: 331
Aktiv.: 1.52
Kraj: Dravograd

PrispevekObjavljeno: Sre Nov 05, 2008 11:48 am    Naslov sporočila:   Odgovori s citatom

A lahko pokažeš na primeru? Sem na bolj na začetku VB. Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 723
Aktiv.: 3.04
Kraj: Severna primorska

PrispevekObjavljeno: Sre Nov 05, 2008 11:54 am    Naslov sporočila:   Odgovori s citatom

Nekaj v tem stilu kot je napisano tukaj bi moralo delovati.
Je še celo bolj enostavno. Ugotoviti moraš katere znake zamenjati.

Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
toncibalonci
Član
Član



Pridružen-a: Pet 03 Avg 2007 21:12
Prispevkov: 331
Aktiv.: 1.52
Kraj: Dravograd

PrispevekObjavljeno: Sre Nov 05, 2008 12:52 pm    Naslov sporočila:   Odgovori s citatom

Ne kapiram najbolj ta "replace". Kak bi se pa dalo zbrisat zadnja dva znaka?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
eddie
Član
Član



Pridružen-a: Sre 10 Dec 2003 21:02
Prispevkov: 723
Aktiv.: 3.04
Kraj: Severna primorska

PrispevekObjavljeno: Sre Nov 05, 2008 1:07 pm    Naslov sporočila:   Odgovori s citatom

Mislim da ni kaj veliko za tuhtat:
Citiram:
Dim TestString As String = "Shopping List"
' Returns "Shipping List".
Dim aString As String = Replace(TestString, "o", "i")


Torej za tvoj primer:


Koda:
Label1= Replace(Data, "*", " ")


Kjer bi * pomenila znak, ki ga hočeš nadomestiti!
Verjetno je to CR ali LF, ki se kažeta kot 10 in 13 decimalno.
Torej Chr(*) je enako 10 ali 13

Lp
EDIT:
Mogoče še eno branje:
Link
Bolj na dolgo in široko...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
S56RGA
Član
Član



Pridružen-a: Čet 11 Sep 2008 13:33
Prispevkov: 325
Aktiv.: 1.59
Kraj: Koper

PrispevekObjavljeno: Sre Nov 05, 2008 1:19 pm    Naslov sporočila:   Odgovori s citatom

katero verzijo VB uporabljaš?
VB6 in net2003,5,8 se zelo razlikujejo.

-Replace poišče določene znake v spremenljivki in jih zamenja z tvojim parametrom.

recimo

Dim str As String
str = "To so moji podatki" & vbCrLf & "K" 'simulaciaj stringe iz com porta - k dodan kot konec za lažjo predstavo
Debug.Print("Original: " & str)

Debug.Print("Izrezano: " & Replace(str, vbCrLf, "")) 'poišči vbcrlf in zamenjaj z null
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
toncibalonci
Član
Član



Pridružen-a: Pet 03 Avg 2007 21:12
Prispevkov: 331
Aktiv.: 1.52
Kraj: Dravograd

PrispevekObjavljeno: Sre Nov 05, 2008 1:28 pm    Naslov sporočila:   Odgovori s citatom

Uporabljam VB6.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
S56RGA
Član
Član



Pridružen-a: Čet 11 Sep 2008 13:33
Prispevkov: 325
Aktiv.: 1.59
Kraj: Koper

PrispevekObjavljeno: Sre Nov 05, 2008 2:11 pm    Naslov sporočila:   Odgovori s citatom

Poskusi z

Label1= Replace(Data, vbcrlf, "")


Lahko pa poskusiš tudi z spreminjanjem parametrov ki jih nastavljaš za port

MSComm1.RThreshold = 3 'poskusi z 2 ali manj. ta ukaz generira on comm event po x sprejetih znakih
MSComm1.InputLen = 2 ' velikost bufferja poskusi z 0
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
toncibalonci
Član
Član



Pridružen-a: Pet 03 Avg 2007 21:12
Prispevkov: 331
Aktiv.: 1.52
Kraj: Dravograd

PrispevekObjavljeno: Sre Nov 05, 2008 2:40 pm    Naslov sporočila:   Odgovori s citatom

Zdaj sem naredi takole:

Private Sub Form_Load()
MSComm1.Settings = "4800,N,8,1"
MSComm1.CommPort = 3
MSComm1.InputLen = 2
MSComm1.PortOpen = True
MSComm1.RThreshold = 3
Label1 = ""
End Sub

Private Sub MSComm1_OnComm()
Dim Data As Variant
Data = MSComm1.Input
a = Replace(Data, Chr(10), "")
Label1 = Replace(a, Chr(13), "")

End Sub

Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
End Sub

Deluje bolje,ampak še ne tako kot bi rad. Še vedno nekaj skače pri tri mestnem število,vem da je to odvisno od
MSComm1.RThreshold = 3
MSComm1.InputLen = 2
če ju drugače nastavim je pa od začetka slabše. Ne vem kaj naj še spremenim??
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jjakob
Član
Član



Pridružen-a: Pet 19 Nov 2004 14:12
Prispevkov: 1348
Aktiv.: 5.67

PrispevekObjavljeno: Sre Nov 05, 2008 6:07 pm    Naslov sporočila:   Odgovori s citatom

S56RGA je napisal/a:

VB6 in net2003,5,8 se zelo razlikujejo.


OT vprašanje: Katero verzijo bi priporočali za začetniško programiranje? Katera ima več materiala na internetu (primerov)?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2, 3  Naslednja
Stran 1 od 3

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 9 dni


Powered by phpBB © 2001, 2005 phpBB Group