niente da fare, provo a postarvi il codice, particamente quello che gli dico di fare è, leggi i dati dalla porta, scrivili in una richtextbox e poi scrivi il richtextbox.text nel file frequency.txt

Imports System
Imports System.IO.Ports

Public Class Form1
'Inizializzo l'array contenente le porte disponibili
Dim myPort As Array
'Inizializzo le variabili che mi serviranno per la creazione e scrittura del file txt
'sul quale scriverò i dati ricevuti dalla porta
Dim disco As System.IO.File
Dim scrivi As System.IO.StreamWriter
'Inizializzo la stringa restituita dalla funzione ReceiveSerialData()
Dim returnStr As String = ""

Public Function ReceiveSerialData() As String
'Dico quale porta dovrà restituirmi la stringa
Using com3 As IO.Ports.SerialPort = _
My.Computer.Ports.OpenSerialPort("com3")
'Faccio un ciclo Do per dirgli di leggere finchè la porta da stringhe non vuote
Do
Dim incoming As String = com3.ReadLine()
If incoming Is Nothing Then
Exit Do
Else
returnStr &= incoming & vbCrLf
End If
Loop
End Using
Return returnStr
End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'setta SerialPort1 come porta COM selezionata all'avvio
SerialPort1.PortName = ComboBox1.Text
'setta il baud rate al valore selezionato nella combobox2
SerialPort1.BaudRate = ComboBox2.Text
'Altre proprietà della serial port
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.DataBits = 8
SerialPort1.Open()
'ora che siamo connessi disabilita "Connect" e abilita "Disconnect"
Button1.Enabled = False
Button2.Enabled = True
'Richiamo la funzione per la lettura dei dati da seriale
Call ReceiveSerialData()
'Scrivi sulla RichtextBox1 i dati arrivati dalla seriale
RichTextBox1.Text = returnStr
'scrivi e salva il contenuto della richtextbox1 su un file txt
scrivi = disco.AppendText("C:\frequency.txt")
scrivi.WriteLine(RichTextBox1.Text)
scrivi.Close()
End Sub