Eh, povero me...
Non ti da un errore, non ti compila proprio!!!!
Non è la stessa cosa, e così come il sorgente del programma (che hai postato) non ha niente a che vedere con lo stack trace che ti avevo chiesto.
Poca cosa, almeno ho capito che ti devo dare indicazioni un pò più 'base'.
Dove hai messo Trim hai omesso le parentesi,
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
Rxdata = SerialPort1.ReadLine().Trim()
End Sub
Ma con questo non risolvi comunque il tuo problema perchè Trim rimuove gli spazi bianchi e quello non è uno spazio bianco ma un carattere di A CAPO .
Devi innanzitutto capire di che tipo è il carattere di A CAPO che ti manda arduino, una volta capito lo imposti nella proprietà NewLine dell'oggetto SerialPort1.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SerialPort1.NewLine =CARATTERE DI FINE RIGA RITORNATO DA ARDUINO
Button1.Enabled = False
Button2.Enabled = False
SerialPort1.Close()
Dim porte As String()
porte = SerialPort1.GetPortNames()
For i = 0 To porte.Length - 1
ComboBox1.Items.Add(porte(i))
Next i
ComboBox2.Items.Add("9600")
ToolStripStatusLabel1.Text = "Nessuna Porta Connessa "
Timer1.Enabled = True
End Sub
Fatto questo non avrai bisogno di trimmare niente perchè SerialPort1.ReadLine() ti ritornerà direttamente il buffer inviato da arduino fino al carattere di A CAPO.
A questo punto però c'è un altra cosa che non va bene, è lo sketch di arduino!!
Si perchè tu il carattere di A CAPO lo invii solo dopo il valore numerico
Serial.println(temperatura);
Serial.print("Celsius ");
che dovrai modificare necessariamente in
Serial.print(temperatura);
Serial.println(" Celsius");
Su una cosa hai ragione, ti mancava solo di sistemare una cosetta
