www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/12/17/04:59:53

From: "Michael Schuster" <Schuster AT eev DOT e-technik DOT uni-erlangen DOT de>
Organization: LS f. Elektr. Energieversorgung
To: djgpp AT delorie DOT com
Date: Tue, 17 Dec 1996 10:48:27 MEZ
Subject: Hardware Interrupts with C
Message-Id: <BC109B5D17@merlin2.e-technik.uni-erlangen.de>

Hi out there!

After all I solved my hardware interrupt problem I postet to this 
group by myself.

I've written the wrapper and other relating stuff preparing the 
interrupt as described in libc - info. The 
Interrupt was ok, but when leaving the program, it crashed, and I 
never knew why.
In my interrupt routine an short array was filled with values by 
inportb (myport).

When I defined the array e.g. with

short data[11][120];

and used it in the IR, the program crashed when leaving the IR or 
stopping it within the programm.
After declaring with

short **data;

and malloc'ed the pointer the IR works stable, and now works 
with allegro and rhide pretty good.

Does anyone know why the difference in behaviour?


Anyway, if someone needs a "hardware interrupt  preparing routine"
contact me.
I don't think that my code is wonderful but it helps if you have
to do this stuff.

 start( irq_number):  Installs an proteced mode IR, driven by the 
                              Hardware IR with number irq_number.


 halt(irq_number):   Halts the interrupt irq_number, does not 
                             uninstall it;

 re_start (irq_number): restarts an installed IR

 close_int(irq_number): uninstalls the handler and stops the IR

 my_handler(): Your function, which your IR executes.
**********************************************
Michael Schuster
E-mail: Schuster AT eev DOT e-technik DOT uni-erlangen DOT de

Universitaet Erlangen/Nuernberg
Lehrstuhl fuer Elektrische Energieversorgung
Cauerstrasse 4
91058 Erlangen

http://www.eev.e-technik.uni-erlangen.de/
**********************************************

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019