Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - creare una bussola
Forum - C# / VB.NET - creare una bussola - Pagina 16

Pagine: [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ] Precedente | Prossimo
Avatar
nightwolf (Normal User)
Pro


Messaggi: 149
Iscritto: 14/09/2010

Segnala al moderatore
Postato alle 19:10
Lunedì, 01/04/2024

PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1364
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 21:08
Lunedì, 01/04/2024
Testo quotato

Postato originariamente da nightwolf:

adesso questo errore, ho letto un po ingiro, ma non ci ho capito quasi niente



Ha perfettamente ragione, la lettura della com avviene in modo asincrono usando un thread diverso... ci avrei dovuto pensare ma senza provare mi è sfuggito.

Non ritengo che farti imbarcare nel passaggio dati crossthread sia consigliabile.

Intanto ti propongo queso codice che scrive crossthread sulla listbox, ma è solo per verificare la ricezione.

Codice sorgente - presumibilmente VB.NET

  1. Private Sub serialport_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles serialport1.DataReceived
  2.     Dim sp As SerialPort = DirectCast(sender, SerialPort) ' cast dell'oggetto sender in SerialPort
  3.     Dim str As String = sp.ReadExisting() ' Legge tutti i dati presenti nel buffer di input
  4.  
  5.  Invoke(New Action(Sub()
  6.     ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Ricevuto = " & str.Replace(vbCrLf, "\n"))
  7.     ListBox1.TopIndex = ListBox1.Items.Count - 1
  8.     ListBox1.HorizontalScrollbar = True
  9.                    End Sub))
  10. End Sub



Controlla se nella listbox hai una ricezione pulita.
Mi dispiace hai anche l'AxMediaPlayer che lavora su un ulteriore thread, senza provare non sono in grado di risolvere tutti i conflitti crossthread che si possono generare.

Si potrebbe scrivere i dati su una label crossthread e poi usare l'evento textchanged della label per l'aggiornamento.
Teoricamente sono tutte info che hai ricevuto, lo potresti fare anche da solo.

Mi raccomando posta la schermata della listbox quando riceve i dati, poi ti dico come fare.

Ultima modifica effettuata da Carlo il 01/04/2024 alle 23:43


in programmazione tutto è permesso
PM Quote
Avatar
nightwolf (Normal User)
Pro


Messaggi: 149
Iscritto: 14/09/2010

Segnala al moderatore
Postato alle 10:27
Martedì, 02/04/2024
Grazie mille ancora e scusa se ti sto facendo tribulare così tanto, ma non credevo che fosse così complicato, credevo che era una cosa semplice, ricevo 2 dati, li splitto e li invio dove devono andare, invece in programmazione ci sono mille fattori da tenere in considerazione.

PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1364
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 10:53
Martedì, 02/04/2024
Testo quotato

Postato originariamente da nightwolf:

Grazie mille ancora e scusa se ti sto facendo tribulare così tanto, ma non credevo che fosse così complicato, credevo che era una cosa semplice, ricevo 2 dati, li splitto e li invio dove devono andare, invece in programmazione ci sono mille fattori da tenere in considerazione.  


E' semplice, con la seriale collegata ad arduino, scrivere il codice e debaggarlo per fare quello che vuoi tu, ci vogliono 5 minuti.
Considera che anche tutti gli altri approci funzionano per certo.
Questo terzo approcio però secondo me è il più corretto.

Senza la com collegata ad arduino, mi devo attenere alle tue info, i tempi si allungano ma io sempre qualche minuto ci dedico, però dilazionati.

Spero che i vari approci abbiano ampliato le tue conoscenze e non ti abbiano invece creato confusione, se fosse chiedi non restare nel dubbio.

Ultima modifica effettuata da Carlo il 02/04/2024 alle 10:59


in programmazione tutto è permesso
PM Quote
Avatar
nightwolf (Normal User)
Pro


Messaggi: 149
Iscritto: 14/09/2010

Segnala al moderatore
Postato alle 11:33
Martedì, 02/04/2024
questo è quello che riceve, tutto molto frastagliato


nightwolf ha allegato un file: errore.png (114139 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
nightwolf (Normal User)
Pro


Messaggi: 149
Iscritto: 14/09/2010

Segnala al moderatore
Postato alle 11:33
Martedì, 02/04/2024
seconda foto


nightwolf ha allegato un file: errore1.png (122109 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
nightwolf (Normal User)
Pro


Messaggi: 149
Iscritto: 14/09/2010

Segnala al moderatore
Postato alle 11:34
Martedì, 02/04/2024
terza foto
ps. ho messo il delay di arduino a 500


nightwolf ha allegato un file: errore2.png (121872 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
nightwolf (Normal User)
Pro


Messaggi: 149
Iscritto: 14/09/2010

Segnala al moderatore
Postato alle 11:45
Martedì, 02/04/2024
Sto cercando di capire il perché da arduino il potenziometro si azzera anziché rimanere sul valore stesso. Mentre se lo tocco invia il valore corrente, non so se è un problema di cablaggio o altro.

PM Quote
Pagine: [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ] Precedente | Prossimo