Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Cdice SerialPort non va
giovedì 16 ottobre 2008 - 10.48
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
almax
Profilo
| Junior Member
175
messaggi | Data Invio:
gio 16 ott 2008 - 10:48
Salve eccomi di nuovo .. Ho tirato giu' questo codice per leggere da una seriale in automatico .. Direttamente nel buffer .. E' un centralino appena apro il programma vorrei che lui leggesse .... Questo il codice chi puo' aiutarmi ?
Imports System.IO.Ports
Imports System
Imports System.IO
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With SerialPort
.PortName = "com1"
.BaudRate = "9600"
.Parity = IO.Ports.Parity.None
.DataBits = "8"
.StopBits = IO.Ports.StopBits.One
End With
SerialPort.Open()
End Sub
Private Sub DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort.DataReceived
txtLeggi.Invoke(New myDelegate(AddressOf updateTextBox), New Object() {})
End Sub
Public Delegate Sub myDelegate()
Public Sub updateTextBox()
Dim InBuff As Byte
Dim str As String
With txtLeggi
InBuff = SerialPort.ReadLine
' str = System.Text.Encoding.Default.GetString(InBuff.ToString)
'.AppendText(SerialPort.ReadExisting)
'questa riga era una prova
.AppendText(InBuff)
.ScrollToCaret()
End With
End Sub
Private Sub esci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles esci.Click
Dim OpenFileDialog1 As New SaveFileDialog
OpenFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"
OpenFileDialog1.FileName = "controllo" + Date.Now.Day.ToString + "_" + Date.Now.Month.ToString + "_" + Date.Now.Year.ToString
'Viene visualizzata la finestra di dialogo
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
'Apre un file in scrittura,
Dim W As New IO.StreamWriter(OpenFileDialog1.FileName)
'Scrive tutto il contenuto della textbox nel file
W.Write(txtLeggi.Text)
'Chiude il file
W.Close()
End If
Me.Close()
End Sub
End Class
Vash
Profilo
| Junior Member
81
messaggi | Data Invio:
gio 16 ott 2008 - 11:16
ma vuoi che legga in automatico all'apertura dell'applicazione o ogni volta che ricevi deti nel buffer avendo l'applicazione aperta?
se fosse all'apertura dell'applicazione li nell'evento onLoad dopo l'apertura della porta aggiungi miaVariabileStringa = SerialPort1.ReadExisting
se invece ti serve anche leggere ogni volta che ricevi dati nel buffer usa come hai fatto l'evento DataReceived ma non conosco bene il suo funzionamento.
ciao
almax
Profilo
| Junior Member
175
messaggi | Data Invio:
gio 16 ott 2008 - 11:32
Ti spiego .. Vorrei che il programma sia sempre in ascolto .. Il device è un centralino con un buffer ..
Appena apro o collego il cavo mi dovrebbe tirare giu' cio' che è nel buffer .. Lasciando aperto il programma ogni volta che il buffer si carica il progr me lo scarica ...
Allora quello che ho scritto l'ho testato con una virtual port e legge .. Appena invio dalla virtual port lui riceve il carattere ...
Credo che il mio problema sia interagire con il buffer ...
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !