Pablo78 Inserito: 3 novembre 2005 Segnala Inserito: 3 novembre 2005 Salve ragazziandiamo subito al sodo...ho creato una piccola applicazione (scritta in Visual Basic) che,tramite porta seriale,acquisisce dei dati da un µControllore, i dati arrivano benissimo però, il PC dopo pochi secondi si blocca...e si sblocca solo dopo aver tolto l'alimentazione al µC.Ho pensato che potesse essere il settaggio della MSCOMM, come ad esempio il bufferSize.Al momento ho posto l'IntBufferCount=0 per far si che ad ogni dato ricevuto il buffer venga svuotato, ma il problema del blocco avviene sempre, avete qualche idea in merito?
lucios Inserita: 3 novembre 2005 Segnala Inserita: 3 novembre 2005 Hai verificato che qualche evento su MSComm non ti faccia entrare in un loop di programma?Se uccidi l'applicativo VB dal task manager persiste la condizione di blocco?Ciao
nll Inserita: 3 novembre 2005 Segnala Inserita: 3 novembre 2005 Bisogna intercettare l'evento della sconnessione e gestirlo, altrimenti il programma rimane in attesa di dati da quella porta, indipendentemente dall'aver azzerato il buffer.
ifachsoftware Inserita: 3 novembre 2005 Segnala Inserita: 3 novembre 2005 Si blocca tutto il PC o sei in un loop in attesa di caratteri nella tua applicazione ?Ciao
Pablo78 Inserita: 3 novembre 2005 Autore Segnala Inserita: 3 novembre 2005 Se uccidi l'applicativo VB dal task manager persiste la condizione di blocco?
Pablo78 Inserita: 13 dicembre 2005 Autore Segnala Inserita: 13 dicembre 2005 (modificato) Mi scuso per il ritardo della risposta, ho risolto il problema...Nella fase di Form_Load(), inizializzo l'MSComm.IntBufferCount a 0.Di seguito è descritto il codice dell'evento On_Comm():Private Sub Ser1_OnComm() Dim Rx$ Rx$ = Ser1.Input ' Leggo il contenuto del buffer '1. Funzione per la conversione delle coppie di dati in arrivo Call Vangelo(Rx$) '2. Salvataggio dati su file; se è aperto On Error Resume Next Print #1, Val, vbTab, Format(Val * 5 / 1024, "#.###") '3. Tracciamento Grafico If X <= picCHN1.Width Then picCHN1.PSet (X, picCHN1.Height - ((picCHN1.Height - 1024) / 2) - Val), vbGreen X = X + 1 'Call DrawGraph(Val, picCHN1) Else picCHN1.Cls X = 1 picCHN1.PSet (X, picCHN1.Height - ((picCHN1.Height - 1024) / 2) - Val), vbGreen End If End SubCiao a tutti Modificato: 13 dicembre 2005 da Pablo78
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora