Nie wiem czemu ma służyć ten kod. Napisany jest tak "dziwnie" że trudno nawet zgadnąć o co mogło autorowi chodzić
Funkcja
Ischarwaiting() zwraca 1 jeśli w buforze odbiorczym są jakieś odebrane znaki. Kiedy ich nie ma zwraca 0.
Wynika z tego że ten kod "sprawdza czy w buforze nie ma żadnego odebranego znaku i Printuje tylko kiedy bufor jest pusty/czysty".
Jeśli takie było założenie autora i niczego nie drukuje to wniosek może być następujący - w buforze są jakieś śmieci lub znaki i dlatego nic nie printuje do portu.
Żeby wyczyścić bufor można napisać
Clear Serialin. Równie dobrze można napisać
Else w warunku który sprawdza Ischarwaiting().
Można wtedy kod zdebugować nawet diodą LED - czyli jeśli jednak są znaki w buforze to zapal diodę.
...a może jednak układ miał sprawdzać czy w buforze znajdują się znaki?
Wtedy trzeba by zapisać to inaczej
If Ischarwaiting >0 Then
Tak jak pisałem bez opisu jak to ma działać trudno jest w ogóle cokolwiek rozważać.