[VB.net] Ricezione dati porta seriale

domenica 20 marzo 2011 - 13.56
Tag Elenco Tags  VB.NET

cdileo Profilo | Newbie

Ciao a tutti, sto cercando di scrivere un programmino che comunichi con una periferica, ma sono bloccato su una parte di codice che non riesco ad uscirne.
Il sistema e' semplice tipo il programma scritto da qualcuno per la lettura della bilancia, ma la differenza e' che la periferica mi trasmette diverse informazioni in base a quelle richieste, nel senso che io richiedo un parametro inviando per esempio "&HA" che e' la tensione batteria e la periferica mi risponde con un dato HEx che poi manipolo per avere la tensione, poi per esempio se voglio sapere la temperatura invio "&HD" e la periferifa risponde sempre con un Hex.I paramentri di interrogazione sono circa una cinquantina.
Per l'invio non ho problemi perche' uso SerialPort1.Write(codice hex), il problema sta nella ricezione dati perche' in base alla richiesta vorrei visualizzare la risposta, cioe' invio "&HA"(tensione batteria) e alla ricezione valorizzo la textbox tensione batteria, quando invio "&HD"(temperatura) vorrei visualizzare la temperatura in un'altra Textbox, ma la parte di routine di ricezione e' comune e quindi qualsiasi cosa richiedo alla periferica viene valorizzato nella textbox batteria.
Come si fa a dividere i dati ricezioni della seriale in base a quelle trasmesse?




Scrigno Profilo | Newbie

Se ho ben capito hai uno strumento che, collegato attraverso una porta può dialogare con la tua applicazione.
Sempre se ho ben capito quando tu fai una domanda lui risponde con una risposta consona alla domanda... Quindi direi che fino a quì va benissimo...
Quello che non funziona, invece, è il fatto che la risposta non dovrebbe sempre andar visualizzata nello stesso posto...

Domanda?

Quando lo strumento risponde, nella risposta c'è traccia della domanda?
Se non vi è traccia della domanda nella risposta dello strumento; tieni tu traccia della domanda?
Ma la sub che gestisce la risposta dello strumento tiene conto della domanda che hai fatto allo strumento?

'Nel programma dovrai tenere memoria della domanda che poni allo strumento
Dim Domanda As TipoDiDatoPerLaDomanda 'nella routine di gestione della risposta gestirai la risposta in base alla domanda Sub GestisciRisposta() Select Case Domanda Case Is = "domanda_1" '... codice relativo alla risposta in base alla domanda_1 Case Is = "domanda_2" '... codice relativo alla risposta in base alla domanda_2 Case Is = "domanda_n" '... codice relativo alla risposta in base alla domanda_n Case Else '... codice relativo ad una domanda non gestita sopra End Select End Sub
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5