Oppure

Loading
23/01/11 9:00
cbcup
Buongiorno a tutti,
ho acquistato un kit della velleman che interfaccia con il pc con programmino in vb6,
il kit é il k8086 (display con interfaccia seriale). Con il vostro aiuto ho terminato un programma di gestione I/O e volevo integrare ad esso un visualizzatore di cicli.
Il mio problema é che non capisco la logica della trasmissione su porta seriale e, ancor meno, come trasformare ciò che é scritto in vb6 in vb2008. Se qualcuno di voi fosse così gentile da spiegarmi passo passo come trasformare una variaile "a" (da 0 a 12) in una stringa da mandare su porta com1, gliene sarei grato.
Grazie, Carlo.
aaa
27/01/11 8:24
Gianluca87
Ciao, per quanto riguarda comunicazione con la porta COM (RS-232) trovi la documentazione su MSDN
msdn.microsoft.com/en-us/library/…
ci sono anche esempi di codice fatti abbastanza bene, per quanto riguarda la trasformazione di un intero in stringa... dovrebbe essere sufficiente un .ToString (pippo.ToString)
Ultima modifica effettuata da Gianluca87 27/01/11 8:25
aaa
27/01/11 15:43
cbcup
Grazie,
ho già letto tutto quello che potevo su MSDN, ed il problema mi rimane invariato, come si traduce questo codice in vb.net?
	Private Sub update()
		Dim messagestring As Object
		Dim checksum As Object
		Dim Character As Object
		Dim characterpointer As Object
		Dim t As Object
		
		For t = 1 To 4 'update display 1 to 4
			characterpointer = t
			Character = CDbl(Label2(t - 1).Text) + 48 ' 0..9 + 48 = ASCII value of character
			checksum = (255 - ((((13 + characterpointer + Asc("A") + Character) / 256) - Int((13 + characterpointer + Asc("A") + Character) / 256)) * 256)) + 1
			If checksum = 256 Then checksum = 0
			messagestring = Chr(13) & Chr(characterpointer) & "A" & Chr(Character) & Chr(checksum)
			messagestring = messagestring + messagestring
			Comm.Output = messagestring
			Next t
		Call strobe()
	End Sub

	Private Sub strobe()
		Dim messagestring As Object
		Dim checksum As Object
		Dim address As Object 'send a strobe command to all displays
		checksum = (255 - ((((13 + address + Asc("S") + 19) / 256) - Int((13 + address + Asc("S") + 19) / 256)) * 256)) + 1
		messagestring = Chr(13) & Chr(address) & "S" & Chr(19) & Chr(checksum)
		Comm.Output = messagestring      
	End Sub

la "comm." in VB2008 é sostituito con SerialPort1()
Ho già constatato che posso settare la porta Com in progettazione con i parametri necessari, posso aprire e chiudere la porta con "Open e Close" ed il VB2008 non mi segnala errori ma ugualmente il display non visualizza.... ciò che visualizza in VB6.
Ho provato a contattare anche la velleman e... ciccia!
Comunque, ragazzi, continuo a sbatterci le corna ancora un pochino.
Carlo.
aaa