Thanks for your answer!
Ok I try to put the read call in a timer.
private void timer_Serial_Tick(object sender, EventArgs e)
{
String read_fr = Read();
if(read_fr != "") richTextBox2.Text += read_fr;
}
Timer frequency (read) = 5ms <- external devise frequency (send) = 10ms
But when I do this there is another problem. Because The data is sent very quickly, probably the program can't to read them ,consequently fills the buffer memory. So even if you switch off the external device, the program continues (for a few seconds) to read data (Obviously from the memory buffer). This is not good for me because this means that program can not read data at the real time.
Is there any way to reading the data more faster, or at least to clean the buffer each time it fills? I do not care if some data will be lost..