Ответ зависит от того, кто вам засылает данные в COM порт, в каком формате.
По хорошему, нужно как-то маркировать конец пакета данных. Это либо передавать сначала количество данных, потом сами данные. Либо передавать специальный символ конца пакета, например "\n\n". Либо просто по таймауту, когда данные идут непрерывным потоком, а если данных не было более чем 1 секунду, то считаем что пакет завершен.
Скорее всего вам подойдет последний вариант.