FAQ | Points | Add... | Recent posts | Search | Register | Log in


[Visual Basic]Chatter po RS-232-odmowa dostępu do portu?


Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> [Visual Basic]Chatter po RS-232-odmowa dostępu do portu?
Author
Message
szefxxx
Poziom 16
Poziom 16


Joined: 24 May 2009
Posts: 318
Location: Wolne Miasto Gdańsk:)

Post#1 Post from the author of the topic 24 May 2011 21:21   

[Visual Basic]Chatter po RS-232-odmowa dostępu do portu?


Witam serdecznie,

mam pewien kłopot.Zabrałem się za pisanie prostej aplikacji umożliwiającej przesyłanie komunikatów po RS-232,słowem prostego komunikatora.Nie wiem czy dobrze zrobiłem,ale wyszedłem z założenia iż aplikacja ma cały czas nasłuchiwać na porcie czy nie ma nowych komunikatów.A po wciśnięciu przycisku miała by wysyłać komunikat wpisany w RichTextBoxa.Proszę o pomoc w tej implementacji,gdyż po naciśnięciu przycisku do wysyłania mam błąd z systemu "Odmowa dostępu do Portu COM1".Do implementacji wpisałem ustawienia takie jak mam w systemie(nie wiem czy nazwa COM1 jest poprawna bo w Menadżerze urządzeń mam "Port Komunikacyjny (COM1)").
Code Visual Basic - [expand]
 
Imports System.IO.Ports
 
Public Class Form1
 
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
RichTextBox1.Text = ""
End Sub
 
Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
Dim mySerialPort As New SerialPort
With mySerialPort
.PortName = "COM1"
.BaudRate = 9600
.DataBits = 8
.Parity = Parity.None
.StopBits = StopBits.One
.Handshake = Handshake.None
End With
Try
mySerialPort.Open()
RichTextBox1.Text = mySerialPort.ReadLine
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
 
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
Dim wiad As String
Dim mySerialPort As New SerialPort
With mySerialPort
.PortName = "COM1"
.BaudRate = 9600
.DataBits = 8
.Parity = Parity.None
.StopBits = StopBits.One
.Handshake = Handshake.None
End With
Try
mySerialPort.Open()
RichTextBox1.Text = wiad
mySerialPort.Write(wiad)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
 
 
 
 
End Sub
End Class
 

Jeszcze jedna rzecz mnie zastanawia.
Gdy w kodzie przy ładowaniu formatki linię przy przechwytywaniu wyjątku :
Code:

RichTextBox1.Text = mySerialPort.ReadLine

to nie ładuje się formatka "programu".Czy to jest spowodowane oczekiwaniem na przychodzący komunikat po porcie?Czy nie można zrobić automatycznego nasłuchiwania na porcie z możliwością wysyłania komunikatów?
Prosiłbym serdecznie o pomoc:)

Pozdrawiam serdecznie,

Szefxxx

Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. - arnoldziq
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 24 May 2011 21:21   





Back to top
   
Matejkos
Poziom 16
Poziom 16


Joined: 16 Oct 2003
Posts: 272
Location: Katowice

Post#2 28 May 2011 10:40   

Re: [Visual Basic]Chatter po RS-232-odmowa dostępu do portu?


Mam nadzieje że pomogę choć moja wiedza na temat VB skończyła się dość dawno temu ale masz błąd z dostępem do portu gdyż 2 razy chcesz go otworzyć. pierwszy raz otwierasz port w form_load a 2 raz w momencie kiedy zostanie naciśnięty przycisk. Rozwiązaniem jakie widzę to wyprowadzenie zmiennej mySerialPort w przestrzeń globalną i inicjacja jej tylko raz a w obsłudze przycisku tylko odwołanie się do już powstałego portu mniej więcej tak
Code Visual Basic - [expand]
 
 
Imports System.IO.Ports
 
Public Class Form1
 
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
RichTextBox1.Text = ""
End Sub
 
Dim mySerialPort As New SerialPort
 
Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
 
With mySerialPort
.PortName = "COM1"
.BaudRate = 9600
.DataBits = 8
.Parity = Parity.None
.StopBits = StopBits.One
.Handshake = Handshake.None
End With
Try
mySerialPort.Open()
RichTextBox1.Text = mySerialPort.ReadLine
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
 
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
Dim wiad As String
Try
RichTextBox1.Text = wiad
mySerialPort.Write(wiad)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
 
 
 
 
End Sub
End Class
 


Jeszcze raz mówię iż nie wiem czy to zadziała ale na pewno nie możesz 2 razy otwierać tego samego portu bo system się będzie czepiał.

Pozdrawiam Matejkos
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> [Visual Basic]Chatter po RS-232-odmowa dostępu do portu?
Page 1 of 1
Similar topics
Muzyka w Visual Basic (8)
kamera + visual basic (2)
[początkujący] Visual Basic (1)
Visual Basic -kalendarz 9.0 (1)
Visual basic - RS232 (4)
[atmega162][avrdude] Win7 x64 odmowa dostępu (4)
[VISUAL BASIC]Visual Basic 2008 DataGridView (4)
RS232 - visual basic (1)
Visual Basic - stoper (12)
Haslo w Visual Basic (8)

Page generation time: 0.118 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed