Looking for a fast way to check serial buffer

I have an atom bot board with a basic atom pro 28. I am trying to create a non blocking serial input, so that my main code will run continuously and once per loop it will check the serial port to see if any data has come in. Ideally i would use a serial input interrupt but I have no clue on how to code interrupts with this chip and basic micro studio using basic. At the moment I am using the following logic:

hserin NoData, 1, [RxValue]		'Check Rx Buffer for Byte
    NoData:

I want to check the serial input buffer once per loop to see if any new data has come in real quick and then continue through the loop. I originally tried serin but that was blocking and so now i am using hserin with a timeout of 1 (is that the lowest it can go?).

Anyway long story short my loop is running very slowly and I think its because of the hserin command. Is there anything i could do to speed this up. I want to know as quickly as possible when a new byte has arrived but i want my loop to be running as fast as possible if there is no new data.

Any help would be greatly appreciated.

A couple ways of doing it. The current way I am doing it is using the command hserinnext to grab (without removing and without waiting) the next char from the input queue… like:

if (hserinnext 0x81) = -1 then _TM_NoInput

The command is even in the help file.

The other was is with the command hserstat, which has options, but so far I don’t see it in the help file…

Kurt