Καλησπέρα και καλώς σας βρήκα, μιας και είναι το πρώτο μου ποστ

Θέλω την βοήθειά σας στο εξής.
Φτιάχνω μια εφαρμογή η οποία επικοινωνεί μεσω θυρας CΟΜ με μια συσκευή.
Στέλνω την εντολή, και μετά ανάλογα με τα τρια τελευταία bytes των δεδομένων που λαμβάνω από την συσκευή, στέλνω την επόμενη εντολή, ώστε να πάρω όλα τα δεδομένα που χρειάζομαι.
Το πρόβλημά μου είναι το εξής.
Όταν η συσκευή στείλει στην εφαρμογή μου όλα τα δεδομένα της, και δεν έχει κάτι άλλο να στείλει, δεν απαντάει στο τελευταίο μήνυμα που στέλνω από την εφαρμογή. Είναι έτσι ρυθμισμένη.
Σε περίπτωση που δεν στείλει δεδομένα, εγώ θα πρέπει να στείλω το μήνημα τέλους, για να διακόψω την σύνδεση με την μηχανή.
O κώδικας που έχω γράψει είναι ο ακόλουθος.
private void btnConnectToPort_Clicked(object sender, RoutedEventArgs e)
{
byte[] _command=CreateCommand(byte1,byte2,byte3);
_serialPort.Write(_command,0,_command.Length);
}
private void _serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{ byte[] data = new byte[_serialPort.BytesToRead];
_serialPort.Read(data, 0, data.Length);
byte[] _command=CreateCommand(data[data.Length-1],data[data.Length-2],data[data.Length-3]);
_serialPort.Write(_command,0,_command.Length);
}
Και η ερώτησή μου είναι η εξής.
Υπάρχει κάποιος τρόπος να διαπιστώσω αν εκτελείται η serialPort_DataReceived; Γιατί αν δεν εκτελεστεί, θα έχω καταλάβει ότι έστειλε όλα τα δεδομένα στην εφαρμογή, οπότε θα στείλω την τελευταία εντολή στην συσκευή για διακοπή της επικοινωνίας μας.