Frage, wie schaut deine messzeit-Funktion aus? Also, ist das durch einen Timer gelöst, oder inkrementierst du darin weitere Variablen? Was für ein Datenwert hat z und was ist die maximale Frequenz, die gemessen werden soll (es könnte leicht z.b. bei einem char, als 8 bit zu einem Überlauf kommen). Wäre gut zu wissen, wie auch, ob die RS232 Sende-Funktion wirklich funktioniert (also halt, dass du statt z immer zb 0x32 an den PC sendest und es auch so ankommt.

Ansonsten, versuch mal deine while-Schleife durch eine do-while-Schleife zu ersetzten, damit schaffst du zumindest, dass diese mindestens einmal durchlaufen wird.
MfG
Mobius