Qual e' l'ultimo codice ? Cosa non funziona ?
Qual e' l'ultimo codice ? Cosa non funziona ?
No MP tecnici (non rispondo nemmeno!), usa il forum.
adesso funziona. se però tolgo il timer non va niente...
Dim dato As String
Dim valore As String
Private Sub Command2_Click()
Unload Form1
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.PortOpen = True
MSComm1.Settings = "9600,n,8,1"
End Sub
Private Sub MSComm1_OnComm()
dato = MSComm1.Input ' Leggo il contenuto del buffer di ricezione (e svuoto .Input)
If Len(dato) Then ' Se ho ricevuto qualcosa lo scrivo nella TextBox
valore = (Mid(dato, 2, 4))
Text1.Text = Text1.Text & valore
If valore = 802 Then
led1.BackColor = vbGreen
valore = 0
Else
led1.BackColor = vbRed
End If
End If
End Sub
Private Sub Timer1_Timer()
Call MSComm1_OnComm
End Sub
![]()
[QUOTE]Originariamente inviato da dvde
adesso funziona. se però tolgo il timer non va niente...
Questo dovrebbe essere il codice ... il timer lo devi eliminare ...codice:Dim dato As String Dim valore As String Private Sub Command2_Click() Unload Form1 End Sub Private Sub Form_Load() With MSComm1 .CommPort = 1 .Settings = "9600,n,8,1" .RThreshold = 1 .SThreshold = 1 .PortOpen = True End With End Sub Private Sub MSComm1_OnComm() dato = MSComm1.Input ' Leggo il contenuto del buffer di ricezione (e svuoto .Input) If Len(dato) Then ' Se ho ricevuto qualcosa lo scrivo nella TextBox valore = Mid(dato, 2, 4) Text1.Text = Text1.Text & valore If valore = "0802" Then led1.BackColor = vbGreen valore = "" Else led1.BackColor = vbRed End If End If End Sub
No MP tecnici (non rispondo nemmeno!), usa il forum.
Grazie mille. Funziona alla perfezione
![]()
Ciao
ciao,
riesumo questo post per chiedervi aiuto ancora in merito all'acquisizione dati via rs232:
Ho una bilancia che genera una stringa di caratteri (31) tre volte ogni secondo (il primo è sempre un $ e gli ultimi due sono caratteri <cr> e <lf>).
Ho provato a collegarmi con Hyper terminal e sono riuscito a ricevere la mia bella stringa (dopo molte prove ho dovuto fare la spunta su "codifica forzata dati in ricezione ASCII a 7 bit" altrimenti se mi disconnettevo nel riconnettermi generava strani caratteri piuttosto sballati).
A questo punto ho iniziato a creare il mio(primo..) form in VB6 configurando il controllo oncomm(): riesco a leggere una stringa, ma al suo interno ci sono caratteri strani (come +-, elevazione a potenza..)e facendo molte prove non sono riuscito ad ottenere la bella stringa pulita che vedo con Hyper terminal.
Spero di avervi dato dettagli sufficienti per capire dov'è il problema.
Grazie.
Di seguito il codice che ho usato:
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "4800,n,8,2"
MSComm1.RThreshold = 31
MSComm1.PortOpen = True
End Sub
e così ho configurato l'evento:
Private Sub MSComm1_OnComm()
Dim RX As String
RX = MSComm1.Input
Text5 = Mid(RX, 1, 31)
End Sub
Pix
Perchè
4800,n,8,2
?
P.S. Dovresti aprire un nuovo thread
No MP tecnici (non rispondo nemmeno!), usa il forum.
ok, apro un nuovo thread
Pix