For perverse reasons, I'm bit-banging serial async on a HP 200LX.
I've done this many times before with microcontrollers - Disable
interrupts, send your start bit, wait for the next bit frame, send
b0, wait for next bitframe, send b1, and so on.
Pretty simple.
But it seems that globally disabling interrupts, "cli" in x86 asm,
still leaves some periodic task happening in the background on
the HP - I can see the results on my logic analyzer.
I whittled the routine down to simply toggling the output line
every few uS - At odd intervals I'll get a pulse that's 5 - 10 uS
longer than it should be...
Suggestions appreciated...
Jack
I've done this many times before with microcontrollers - Disable
interrupts, send your start bit, wait for the next bit frame, send
b0, wait for next bitframe, send b1, and so on.
Pretty simple.
But it seems that globally disabling interrupts, "cli" in x86 asm,
still leaves some periodic task happening in the background on
the HP - I can see the results on my logic analyzer.
I whittled the routine down to simply toggling the output line
every few uS - At odd intervals I'll get a pulse that's 5 - 10 uS
longer than it should be...
Suggestions appreciated...
Jack