Friends, I need some enlightenment :confused: :
Field of action: Arduino Mega 256, thus Atmel AVR, 8bit
I intend to use a very short pulse to trigger an external interrupt (FALLING, if that makes a difference). In fact it may theoretically shorter than a clock-cycle on the Arduino. Now the datasheet does not go in depth about exactly how the INTwhatever is detected. For RISING/FALLING it says something like detecting a state change in between samples. Now, ideally this may be a flip-flop, thus capturing any whatsoever (reasonably) short pulse or it might just be a port-sample (storing the latest sample and applying some boolean logic) being limited to one or more clock-cycles of the AVR, thus requiring the pulse to last a certain minimum of clock-cycles.
This is important to me, as I want to keep the circuit as simple as possible, another flip-flop in hardware would mean another chip (TTL or GAL), which I'd love to avoid.
Regarding the use: I intend to implement a Z80-shield for the old ones amoungst us, so we can play with a very nice and speedy real CP/M-toy. I thought about wiring the IOREQ directly to the INTwhatever in FALLING mode. Thus, with a simple I/O-command from the Z80, I could alert the Arduino. If I had to make the Arduino more sensible, this would mean to implement a mono-flop or waste another pin for the reset of a flip-flop (ok, I might use the M1 cycle to reset it). Now depending on the type of "master-CPU" that I would attach, it might be on e.g. a 50 MHz (eZ80, maybe). That would mean a cycle is about a third of an Arduino cycle and that might be so fast that it happens all in between cycles of a polling interrupt controller. Then it would not be detected at all!
Yes you are right, I could experiment on this and just find out on my own, but I do not have a signal generator, so this process would be lengthy and after all ... this is a very basic question on the AVR, isn't it? I am surprised that the datasheet hasn't been more specific at this point (or did I just miss it?).
Best regards and thank in advance for any hint (or pointer on a forum-post or article or doc, I searched but did not come up with anything that filled my gaps).