This is a group for folks designing and programming embedded systems using the Rabbit Semiconductor C-programmable microcontroller. Rabbit Semi is a spin-off from Z-World who makes a variety of embedded modules and tools. This group is not affiliated with either Rabbit or Z-World, but is a user forum for sharing ideas, asking questions,
flaunting knowledge, and other typical user group stuff. The Rabbit is a powerful uC, supported by a full-featured C-compiler.
Hi Friends,
I have been using BL2600 for my projects. I am trying to use external
interrupts to capture the pulses from a proximity sensor. I followed the
sample EXTINT3000.C and modified it to use PE4 and PE5 pins (DIN16 and
DIN17). When I set raising edge and priority 1 as shown below it jumps into
the ISR 2 times for every single pulse from proximity sensor.
WrPortI(PEDDR, &PEDDRShadow, 0x00);
SetVectExtern3000(0, my_isr0);
WrPortI(I0CR, &I0CRShadow, 0x21)
When I set falling edge and priority 1 as below, it jumps into ISR on both
edges instead of falling edge.
WrPortI(PEDDR, &PEDDRShadow, 0x00);
SetVectExtern3000(0, my_isr0);
WrPortI(I0CR, &I0CRShadow, 0x11)
I tried with different pulse generators (PLC, digital switch, proximity
sensor etc) and different BL2600 boards, but the result is the same.
I am using an opto-coupler to filter the signals. (Without opto-coupler the
result is worse)
Has anyone encountered such a problem? Could anyone help me solve this
problem?
Phahee

(You need to be a member of rabbit-semi -- send a blank email to rabbit-semi-subscribe@yahoogroups.com )