30/03 10:34
nightwolf
buon giorno a tutti e buon sabato, so di essere logorroico, ma non se ne viene a capo in questo progetto, mettendo il codice di carlo, adesso mi dice:
ricevuto=false
elaborato=errori i valori non sono due
questo sono i due video di arduino che funziona e visual basic
youtu.be/…
youtu.be/…
cosa vuol dire che i valori non sono due?
ricevuto=false
elaborato=errori i valori non sono due
questo sono i due video di arduino che funziona e visual basic
youtu.be/…
youtu.be/…
cosa vuol dire che i valori non sono due?
aaa
30/03 11:01
nightwolf
cosa vuol dire questa scritta di errore
Eccezione generata: 'System.InvalidCastException' in Microsoft.VisualBasic.dll
Eccezione generata: 'System.InvalidCastException' in Microsoft.VisualBasic.dll
aaa
30/03 11:58
Carlo
Postato originariamente da nightwolf:
buon giorno a tutti e buon sabato, so di essere logorroico, ma non se ne viene a capo in questo progetto, mettendo il codice di carlo, adesso mi dice:
ricevuto=false
elaborato=errori i valori non sono due
questo sono i due video di arduino che funziona e visual basic
youtu.be/…
youtu.be/…
cosa vuol dire che i valori non sono due?
buon giorno a tutti e buon sabato, so di essere logorroico, ma non se ne viene a capo in questo progetto, mettendo il codice di carlo, adesso mi dice:
ricevuto=false
elaborato=errori i valori non sono due
questo sono i due video di arduino che funziona e visual basic
youtu.be/…
youtu.be/…
cosa vuol dire che i valori non sono due?
è scritto tutto sul codice.
L'errore non è in timer2, perché se non ricevi nulla è ovvio che i dati non sono due.
la function l'hai modificata?
Per caso hai messo WithEvents? Quello non lo devi mettere finquando leggi con timer2
La COM è collegata?
Vedo che non invii più le due cifre decimali sui gradi, in VB alcune istruzioni sono diventate superflue ma non dovrebbero causare problemi.
Ultima modifica effettuata da Carlo 30/03 12:19
in programmazione tutto è permesso
30/03 12:04
Carlo
Postato originariamente da nightwolf:
cosa vuol dire questa scritta di errore
Eccezione generata: 'System.InvalidCastException' in Microsoft.VisualBasic.dll
cosa vuol dire questa scritta di errore
Eccezione generata: 'System.InvalidCastException' in Microsoft.VisualBasic.dll
Stai cercando di copiare un oggetto generico in uno tipizzato senza aver effettuato la conversione di tipo o cast.
Se hai modificato la dicharazione della seriale in: Dim WithEvents serialport1 As New SerialPort
Timer2 lo devi spegnere perché devi leggere i dati nell'evento:
Private Sub serialport_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles serialport1.DataReceived Dim sp As SerialPort = DirectCast(sender, SerialPort) ' cast dell'oggetto sender in SerialPort Dim str As String = sp.ReadExisting() ' Legge tutti i dati presenti nel buffer di input ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Ricevuto = " & str.Replace(vbCrLf, "\n")) ListBox1.TopIndex = ListBox1.Items.Count - 1 ListBox1.HorizontalScrollbar = True Dim righe() = str.Split(vbCrLf) Dim uso = 0 If righe.Length = 0 Then Return ' forse non serve If righe.Length > 1 Then uso = 1 ' Elaboro la stringa Dim valoriDivisi() As String = righe(uso).Split(";") If valoriDivisi.Length <> 2 Then ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore i valori non sono due") Return End If ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Selezionato = " & righe(uso)) If valoriDivisi(0) = "E" Then lblgradi.Text = "errore" ' in valoriDivisi(1) ' il tipo d'errore da mostrare dove vuoi ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(0) & " - " & valoriDivisi(1)) Else ' Il primo dato è riferito ai gradi della bussola valoriDivisi(0) = valoriDivisi(0).Replace(".", ",") ' se ci fosse il punto decimale viene sostituito con la virgola decimale If Double.TryParse(valoriDivisi(0), avanzamento) Then If avanzamento <= 0 Or avanzamento >= 360 Then ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Bussola = Errore il valore " & avanzamento.ToString() & " è fuori range") Else lblgradi.Text = avanzamento.ToString("000°") Pcboxbussola.Invalidate() ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Bussola = " & avanzamento.ToString("000°")) End If Else ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(0) & " non è un intero") End If '' Il dato in: valoriDivisi(1), è riferito al volume e è una stringa Dim volume As Integer = 0 If Integer.TryParse(valoriDivisi(1), volume) Then If volume < 0 Or volume > 100 Then ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Volume = Errore il valore " & volume.ToString() & " è fuori range") Else ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato Volume = " & valoriDivisi(1)) media_pleyer.lb_volume.Text = valoriDivisi(1) + "%" media_pleyer.Volume_control1.value = valoriDivisi(1) lb_volume.Text = valoriDivisi(1) + "%" Volume_control1.value = valoriDivisi(1) media_pleyer.Timer3.Start() media_pleyer.AxWindowsMediaPlayer1.settings.volume = media_pleyer.Volume_control1.value AxWindowsMediaPlayer1.settings.volume = media_pleyer.Volume_control1.value video.Wmp1.settings.volume = video.Volume_control1.value End If Else ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(1) & " non è un intero") End If End If End Sub
Ultima modifica effettuata da Carlo 30/03 12:24
in programmazione tutto è permesso
30/03 13:08
nightwolf
Postato originariamente da Carlo:
Stai cercando di copiare un oggetto generico in uno tipizzato senza aver effettuato la conversione di tipo o cast.
Se hai modificato la dicharazione della seriale in: Dim WithEvents serialport1 As New SerialPort
Postato originariamente da nightwolf:
cosa vuol dire questa scritta di errore
Eccezione generata: 'System.InvalidCastException' in Microsoft.VisualBasic.dll
cosa vuol dire questa scritta di errore
Eccezione generata: 'System.InvalidCastException' in Microsoft.VisualBasic.dll
Stai cercando di copiare un oggetto generico in uno tipizzato senza aver effettuato la conversione di tipo o cast.
Se hai modificato la dicharazione della seriale in: Dim WithEvents serialport1 As New SerialPort
perdonami ma sta dichiarazione di seriale dove va messa, perchè mi da errore in serialport1 dicendo che è gia dichiarata, abbi pazienza, l ho messa insieme alle altre variabili e niente.
grazie
aaa