"The real time nature of DOS seems to be interrupted 1 1/2 times per second. It looks like something is performing some "housekeeping" task. This is the crux of my problem." The computer architecture you're using (like many others) includes a mechanism for hardware devices to cause the processor to interrupt its current task so as to quickly respond to whatever situation has arisenm and this is known as an "interrupt". For instance, pressing a key on the keyboard will cause the processor to stop what it's doing, run the keyboard interrupt handler, and then resume the previous task. I think the serial and parallel ports trigger interrupts of their own, allowing the operating system to grab whatever data has arrived before it disappears. So yes, there are "housekeeping" things that interrupt your program installed by both the BIOS and by DOS. This is a normal (and usually important) process. This page lists some common hardware interrupt assignments: http://en.wikipedia.org/wiki/Intel_8259#PC.2FXT_and_PC.2FAT The interrupt service routines actually installed may vary in length and frequency. E.g. the timer interrupt occurs, on average, 18.2 times per second, but the interruption does not last very long. Other interrupts may occur infrequently but take more time to handle. I can't say whether this is contributing to your problem or not. The problem may reside in your program itself (I would very strongly suggest you show us the program - all of us have had our fair share of extremely silly errors and having someone else check your program can save a lot of time and frustration). from IP address 220.245.178.132 |
| Response Title | Author and Date |
| You typed "arisenm." Did you mean "arisen?" | Typing Police on Mar 28 |
| "arisnm" | Ralph on Mar 28 |
| * Getting tired of the Police and Useless Humorless posts. | on Mar 28 |
| * End of usefullness in this thread W/O reply | on Mar 28 |
| * True if OPwon't post code ->>>>>> Jack Cain | on Mar 28 |
| Parallel port problems | Jack C. on Mar 31 |
| Wrong port address? | on Mar 31 |
| * OOPS! 632 = &H278 | on Mar 31 |
| Maybe it is TIMER that is wrong | David on Mar 31 |
| True, TIMER values should also be Singles for KHZ | on Mar 31 |
| Timer | Jack C. on Mar 31 |
| I realize that, but you continue to try anyway | on Mar 31 |
| Try this | on Mar 31 |
| Don't forget operator precedence, Ted | on Apr 1 |
| * I did, thanks | on Apr 1 |
| How long is the on time of the pulse? | on Apr 1 |
| Pulse time | Jack C. on Apr 1 |
| That seems a bit short | David on Apr 1 |
| If you can just use the 1Khz pulse to count then | on Apr 1 |
| Why not set the timer to 1ms | David on Apr 1 |
| Try it with some "output" code | on Apr 1 |