Quantcast
Channel: Visual Basic Tips and Tricks
Viewing all articles
Browse latest Browse all 2212

SerialPort non funziona da tastiera

$
0
0

Buonaseravorrei esporre il mio problema

ho creato una piccolo programma  in visualbasic 2010 con un paio di pulsanti

e lo collegata tramite la seriale con Arduino, una scheda

elettronica colla quale cerco di comunicare  attraverso la Serialport da premettere che

non ho tanta conoscenza di Visualbasic

-------------------------------------------------------------------------------

Mando char ---a--- quando digito pulsante in VB

Private Sub button__MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles button.MouseDown

SerialPort1.Write("a")

End Sub

---------------------------------------------------------------------------------

Mando char ---A--- quando lascio pulsante

Private Sub button__MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles button.MouseUp

SerialPort1.Write("A")

End Sub

---------------------------------------------------------------------------------------

in questo modo tutto funziona a meraviglia

solo quando digito tasto tastiera esempio sotto

non mi funziona bene mi spiego quando digito tasto tastiera

la char –a-- nella seriale viene avvertita quando

invece lascio tasto tastiera avviene che alcune volte

rimane incantato char –a-- tipo che visualbasic

non avverte che ho lasciato tasto tastiera

che mi dovrebbe  dare char---A--

pero alcune volte funziona ma raramente forse a che

fare che in ascolto ce un timer che legge i dati della seriale

pero il timer credo che sia solo per il SerialPort1.ReadExisting non so:

forse qualcuno mi puo dare un aiuto dove sbaglio

grazie

esempio con tastiera:

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown

If e.KeyCode = Keys.D1 Then

SerialPort1.Write("a")

End If

End Sub

Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp

If e.KeyCode = Keys.D1 Then

SerialPort1.Write("A")

End If

End Sub


Viewing all articles
Browse latest Browse all 2212