Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2007-10

Serial port interrupts?

3 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

John Coppens

Hello people.

To make a debugging tool, I need to time changes on the serial port control and status lines on a Linux machine. The serial port hardware has this possibility, but is it possible to program this in a more or less high-level way? I did this a long time ago in DOS.

I've looked at several libraries, but none seem to give access to line/status change events in realtime.

Thanks in advance,
John

Tom Walsh
to John Coppens
John Coppens wrote 11 lines
Hello people. To make a debugging tool, I need to time changes on the serial port control and status lines on a Linux machine. The serial port hardware has this possibility, but is it possible to program this in a more or less high-level way? I did this a long time ago in DOS. I've looked at several libraries, but none seem to give access to line/status change events in realtime.

I doubt that you could do the same with Windows XP. Hardware operations are abstracted such that the device is "managed" via a kernel device driver. To do what you want to do might require you to write / modify the serial port driver.

Having said that, it would be doubtful as to how finite a measurement / control that you could exert over the serial port. Modern kernels are multi-tasking beasts, and by design, no one process (thread) should / could take up the full attention of the kernel for any significant amount of time. Even under an interrupt driven service there would be jitter and an unpredictable response time before the service routine is actually run.

TomW

Tom Walsh - WN3L - Embedded Systems Consultant http://openhardware.net http://cyberiansoftware.com http://openzipit.org "Windows? No thanks, I have work to do..." ----------------------------------------------------
Unknown author
to Tom Walsh

Where can I find the rtl guide or documentation for the serial library. I'm only using linux/unix
and since I don't want to recreate the wheel sort to speak I just need details on how to use the
existing library. Couldn't find anything about it in the current 2.2.x dox. Thanks.

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Dale Harris
Tektronix System Engineer

"I would rather have a good plan today than a perfect plan two weeks from now."
General
George S. Patton

This e-mail and any files transmitted with it are the property of Tektronix, are confidential and are
intended solely for the use of the individual or entity to whom this e-mail is addressed. If you are
not one of the named recipient(s), or otherwise have reason to believe that you have received this
message in error, please notify the sender at the above phone number or email address and delete this
message immediately from your computer. Any other use, retention, dissemination, forwarding, printing
or copying of this e-mail is strictly prohibited. The recipient should check this email and any
attachments for the presence of viruses. I accept no liability for any damage caused by any virus
transmitted by this email. Any ideas or opinions expressed here do not necessarily reflect the ideas
or opinions of my employer.

Earlier message 43 lines
-----Original Message----- From: On Behalf Of Tom Walsh Sent: Wednesday, October 10, 2007 4:36 AM To: FPC-Pascal users discussions Subject: Re: [fpc-pascal] Serial port interrupts? John Coppens wrote: > Hello people. > > To make a debugging tool, I need to time changes on the serial port > control and status lines on a Linux machine. The serial port hardware > has this possibility, but is it possible to program this in a more or > less high-level way? I did this a long time ago in DOS. > > I've looked at several libraries, but none seem to give access to > line/status change events in realtime. > > I doubt that you could do the same with Windows XP. Hardware operations are abstracted such that the device is "managed" via a kernel device driver. To do what you want to do might require you to write / modify the serial port driver. Having said that, it would be doubtful as to how finite a measurement / control that you could exert over the serial port. Modern kernels are multi-tasking beasts, and by design, no one process (thread) should / could take up the full attention of the kernel for any significant amount of time. Even under an interrupt driven service there would be jitter and an unpredictable response time before the service routine is actually run. TomW -- Tom Walsh - WN3L - Embedded Systems Consultant http://openhardware.net http://cyberiansoftware.com http://openzipit.org "Windows? No thanks, I have work to do..." ----------------------------------------------------