ho preferito mettere qui le cose che mi hai chiesto in privato, in modo che se servisse ad altri possono usarla.
credo sia giusto cosi.
qui sotto ce il codice che ti serve per inviare e ricevere da vb6 e arduino. metterò anche immagine form, cosi ti fai un idea.
Private Sub cmdesci_Click()
MSComm1.Output = "68"
MSComm1.PortOpen = False
End
End Sub
Private Sub cmdfine_Click()
MSComm1.Output = "c" 'invio la lettera "c" che sarà riconosciuta dal circuito come spegni
' e mi risponderà se ricevuto
txttx.Text = ""
End Sub
Private Sub cmdinvio_Click()
MSComm1.Output = "a" ' invio la lettera "a" che sarà riconosciuta dal circuito come accendi
' e mi risponderà se ricevuto
txttx.Text = ""
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 4 'porta com4
MSComm1.Settings = "9600,n,8,1" 'setto la porta
MSComm1.RThreshold = 1 ' voglio essere informato della ricezione di ogni singolo carattere
On Error Resume Next 'rilevazioni di errori
MSComm1.PortOpen = True 'apro la porta
If Err Then
MsgBox "impossibile aprire la porta: Com" & MSComm1.CommPort & ", controllare collegamenti." & vbCrLf & Error$
End If
End Sub
Private Sub MSComm1_OnComm()
Dim inputdat
inputdat = MSComm1.Input ' Leggo il contenuto del buffer di ricezione (e svuoto .Input)
If Len(inputdat) Then ' Se ho ricevuto qualcosa lo scrivo nella TextBox
txttx.Text = txttx.Text & inputdat
End If
End Sub
Io uso la porta seriale in vb2010 e la trasmissione funziona.. ora vorrei provare con questo oggetto MSCom però non lo trovo sul 2010.
edit: trovato : Microsoft Communications control
in risposta alla tua domanda, ti rispondo che il codice è in visual basic 6.
quindi:
1- se vuoi usarlo con vb10 devi adattarlo.
2- oppure se vuoi provare con vb6, devi eseguirlo in "realtime" (tasto avvia forma triangolare).
3- se vuoi fare eseguibile con vb6: menù file - crea nomeprogetto.exe (in vb10 non so).
spero di averti aiutato.
ps: in questo post ce sciorty che usa vb10. prova a chiedere a lui. 8) 8)
che ti serve esattamente?
in che linguaggio lo vuoi?
vb6 ormai putroppo è veramente vecchio.
con le nuove versioni di visual studio (quind vb20110, c# ecc..) ci sono le versioni express che sono freeware.
con java si piò fare tutto free ma per l'interfaccia non ti saprei dire.
con flex puoi fare applicazioni AIR e tramite socket comunicare con la seriale (questo è un esempio di applicazione che ho sviluppato link al video)
a me va bene in qualunque linguaggio anche Vb 2010 davo mandare dei carattere via seriale e visualizzare eventualmete la risposta in una text box...
con java ho provato ma non ne vengo fuori
Qui ce n'è uno in vb2010 usante l'evento keydown per l'intercettazione dei tasti. C'è una label per l'output e un oggetto Microsoft Communications Control (rinominato arduino), i settaggi come il baud rate o la porta poi dipendono da te
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyValue
Case Keys.A
arduino.Output = ("a")
Case Keys.S
arduino.Output = ("s")
Case Keys.W
arduino.Output = ("w")
Case Keys.D
arduino.Output = ("d")
End Select
End sub
Private Sub arduino_OnComm(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles arduino.OnComm
Label2.Text = arduino.Input
End Sub
p.s.: lato arduino fai così
Serial.print(analogRead(A0));
Serial.print(" ");
altrimenti sulla label ti compare un treno di valori. Stessa cosa se fai un println, con la differenza che ti scendono in verticale.