Date: Sun, 9 May 2004 10:45:48 +0100
From: Julia Perry
To:
Subject: Free Pascal Question
Dear Andrew
We can try to help you in resolving your issues (see my comments below), but it might be better to ask your questions in our fpc- mailing list (see our WWW pages for
further information about subscribing to this list).
My name is Andrew Smith i live in the UK and are at present
considering using Free Pascal to develop a control system for a vacuum
pump manufacturer.
.
.
Show quoted text 23 lines
I came across your Free Pascal compiler and have been impressed with
it. My plan is to use a small single board computer which has a 800
Mhz / 1 Ghz CPU on board LAN and four serial ports RS232 / RS485. This
board being small will have NO hard disk but a Compact Flash / DOM
Disk on module.
These are small simulated IDE flash drives with a capacity of 32, 64
or 128 Mb. Which is ideal for a small MSDOS application.
I have recently been experimenting with your TCP/IP unit using the
WEBDEMO application and was impressed with how easy this was to change
to suit my applications.
While is was experimenting i needed to know what the impact was on any
background tasks that where going to be needed, this where i have a
problem.
I inserted a small peice of code to increase a variable and display
this. When the program started i could see this variable change
constantly. But when a second PC accessed the HTML pages the value
stopped changing for a second then restarted. As this will be used for
control purposes i need a small background task / program that must
run constantly.
To be honest, I don't really understand the point here. Could you give us little bit more information about the environment and running task(s), please? What kind of operating system was running on the PC, plain MS-DOS??? What kind of HTML pages are you talking about?
Show quoted text 9 lines
I have some ISA Data Aquasition cards these have various analogue and
digital I/O and are used for control purposes, they also have a
programmable interrupt counter which can be tied to a interrupt (I use
IRQ5 this is i think LPT2 which most PC's dont have).
This has been used in the past using Borland Pascal V7 with no
problems, however when i compile a program using Free Pascal and after
inserting the Free Pascal unit (PORTS) at the top. the program runs
but does not perform the interrupt.
What target did you compile for, GO32v2? Do I understand correctly that you tried to hook the IRQ5 interrupt, but your new interrupt routine was never called?
I have attached a copy of this program ENCODER.PAS.
There was no attachment at your e-mail, unfortunately - maybe it would answer at least some of my questions. Could you upload it somewhere and send URL here (unless it's very small)?
Show quoted text 8 lines
The reason for the interrupt is i must be able to perform a cyclic
program in the background which will read the I/O either from a serial
port or a ISA / PCI card do the background processing and set any I/O
as required.
My question is that can this be done and is there any thing that the
Boralnd Pascal V7 interrupt processing does that must be changed in
order to work with the Free Pascal version.
Yes, hooking of interrupts can be done under FPC. There are some points one must take care about coming from the fact that FPC creates 32-bits programs running under DPMI as opposed to real-mode programs created by BP. Some people on the mailing list might have examples of doing this for you.
Regards
Tomas