Kan börja med att nämna att jag på intet sätt är en erfaren VB-programerare. Det här är första gången jag har med VB.NET att göra genom VisualBasic Express 2008. Har tidigare petat lite med VB6 och jobbat med VBA där jag gjort ett GUI för ett PIC-projekt. Tror inte att det är så många här som kör VB regelbundet men det är säkert någon som kan en del ändå.
Mitt problem består i att jag vill sända RS-232 över en COM-port men lyckas bara delvis.
Kan börja med att visa koden:
Kod: Markera allt
Imports System.IO.Ports
Public Class Form1
Dim WithEvents com1 As New SerialPort
Dim data As Double
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
With com1
.PortName = "Com4"
.BaudRate = 19200
.Parity = Parity.None
.DataBits = 8
.StopBits = StopBits.One
End With
com1.Open()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
com1.WriteLine(Chr(TextBox1.Text))
End Sub
End Class
Orginalet finns här.http://www.vbforums.com/showthread.php?t=402916 Andra posten, första koden.
Mitt problem är att koden förvisso sänder "Chr(innehåll-i-textrutan)" men den sänder en till byte omedelbart efter den första.
Om det till exempel står 85 i rutan så sänder den, mycket riktigt, först:
[startbit]10101010[slutbit]
MEN omedelbart efter detta så kommer något som ser ut som [00101000] eller något liknande. Denna sekvens är densamma oavsett vilken COM-port jag sänder på och ser, enligt asciitabell.se, ut att vara ett "Device Control 4"-kommando. Tänkte först att det kunde ha att göra med att jag sände på COM4 men så var det alltså inte.
Om det är avgörande så kan jag försöka forska närmare på vad den andra byten är för sekvens men jag tror att ovanstående förslag är korrekt. Kan passa på att nämna att kontrollmetoden jag använder är oscilloskop.
Någon som kan hjälpa mig? Tänk på att jag är novis på det här området.
Om ni anser att denna tråd bör hamna i Mjukvaru-delen så står det naturligtvis mod fritt att flytta den dit. Tänkte att det var större chans att träffa på VB-proggare här eftersom det är ett enkelt lat-mans-medel att slänga ihop ett GUI för oss som hellre lägger programmeringstimmarna på Firmwaren.

MVH
/Tottish