Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    SerialPort

    Salve a tutti,

    da poco sono passato a VB10, e per la prima volta mi trovo ad implementare una comunicazione seriale tra un mio circuito con microprocessore ATMEL e il PC...

    Ho utilizzato il controllo "SerialPort" ed è tutto ok... l'unico problema che ho è che quando l'applicazione in VB10 riceve un stringa, e la visualizza in un controllo "ListBox" ogni 8 caratteri ricevuti va a capo rigo???

    (mentre viceversa se trasmetto la stessa stringa dal VB10 al circuito tutto ok...)

    Grazie

    Tony

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Bisogna vedere il codice che usi, sia quello VB, sia quello del micro ... altrimenti è impossibile rispondere ...


    P.S. Dai un'occhiata al regolamento prima di postare ..
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Questo è il codice dell'applicazione:

    codice:
    Public Class Form1
    
        Dim inputData As String = ""
        Dim s As String = ""
    
        Public Event DataReceived As IO.Ports.SerialDataReceivedEventHandler
    
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            'Set values for some properties
    
            SerialPort1.PortName = "COM1"
    
            SerialPort1.BaudRate = 19200
    
            SerialPort1.Parity = IO.Ports.Parity.None
    
            SerialPort1.DataBits = 8
    
            SerialPort1.StopBits = IO.Ports.StopBits.One
    
            SerialPort1.Handshake = IO.Ports.Handshake.None
    
            SerialPort1.RtsEnable = True
    
            ' Open the Serial Port
    
            SerialPort1.Open()
    
            'Writes data to the Serial Port output buffer 
    
            If SerialPort1.IsOpen = True Then
    
                SerialPort1.Write("PC Pronto")
                ListBox1.Items.Add("PC Pronto")            
            End If
    
        End Sub
    
        ' Receive data from the Serial Port
    
        Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
    
            inputData = SerialPort1.ReadExisting 'or SerialPort1.ReadLine
    
            Me.Invoke(New EventHandler(AddressOf DoUpdate))
    
        End Sub
    
    
        'Show received data on UI controls and do something
    
        Public Sub DoUpdate()
            s = inputData
    
            ListBox2.Items.Add(s)
            TextBox1.Text = s
        End Sub
    
    
        Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
    
            ' Close the Serial Port
    
            SerialPort1.Close()
    
        End Sub
    
    
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            ListBox2.Items.Clear()
        End Sub
    
        Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
            ListBox1.Items.Clear()
        End Sub
        'Invia testo alla seriale
        
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            If SerialPort1.IsOpen = True Then
                SerialPort1.Write(TextBox2.Text)
                ListBox1.Items.Add(TextBox2.Text)
            Else
                MsgBox("Porta seriale non aperta", vbExclamation)
            End If
        End Sub
    End Class

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Probabilmente il problema sta nel codice del micro ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    (eliminare)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da 534578343478512
    SerialPort
    Devi indicare anche il linguaggio nel titolo, come da Regolamento, assieme a una descrizione significativa del problema.

    Qui l'ho aggiunto io per dare un esempio; provvedi tu in futuro.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    ok...

    comunque ho risolto sostituendo SerialPort1.ReadExisting con SerialPort1.ReadLine

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.