On 2015-01-14 15:48, Yamaban wrote:
On Wed, 14 Jan 2015 15:36, Per Jessen <per@...> wrote:
RS232 was original defined as polling with hardware buffers only. During the later days of the ISA bus (ISA 32bit IIRC) there where cards available the generated a IRQ if new data arrived at the buffers.
No, I used serial port, RS232 IRQ with 8086 16 bit hardware, it was in the original specs.
Today it is much easier to use a micro-controller with a USB interface and program a equivalent.
Easier, yes. But for the purpose of timing accuracy, it is worse, because you can not ascertain how many processor cycles will take since the external device says it has data till it is read. It is a BUS, devices have to wait their turn. An RS232 has a pin that directly triggers an IRQ, directly from the outside device. It happens within a CPU clock cycle. Unless the interrupts are masked when it arrives, it is attended to immediately (and probably faster in the old 8086, no contexts, just a few pushes to the the stack for some registers) -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar)