I do not want to destroy the good climate that 16F193x have created, but look at the errata file 80479A.pdf. They have some issues that may affect users that will use EEPROM or CCP rgisters.
Ioannis
I do not want to destroy the good climate that 16F193x have created, but look at the errata file 80479A.pdf. They have some issues that may affect users that will use EEPROM or CCP rgisters.
Ioannis
I think next one Darrel has to answer, but if anyone knows...
How fast will the DT-INTS 14 interrupts (with PBP service) respond to a PORTB Interrupt on change?
Or better put, how many cycles will it take?
I am testing a Wiegand-26 reader the has 48uSec pulses every 2ms and at 4MHz the 16F628 chip does not feel it at all.
Another reader the has 0,38ms pulse is OK with the 16F628. The PIC is running rather slow at 4MHz.
I'd prefer a way to calculate the time it takes to respond on an Interrupt.
My service test routine is something like this:
IoannisCode:CardReader: if d0=0 then array[index]=0 index=index+1 endif if d1=0 then array[index]=1 index=index+1 endif @ INT_RETURN
P.S. After some testings I found that the pulse must stay at more that 150uSec for the PIC to grab it. Thats it at 4MHz.
Last edited by Ioannis; - 14th October 2009 at 17:05.
DT,
I have only used interrupts once, (using Instant Interrupts) based on your clock routine. I am starting a design in which I want to again use your interrupt routines, (and I admit I haven't read all your examples and documentation yet). I'm at the point where I'm making a first guess at pin assignments on a PIC18F67J60. I know I'm going to have to use the clock output of a rotary encoder as one interrupt source, and a generic 'some button has been pushed' kind of interrupt from a bunch of PCF8574's as another. Being really new at interrupts, which would more straightforward to implement... the PortB 'onchange interrupts', or individual B0 (Int0), and B1 (Int1) dedicated interrupts?
Thanks much,
Len G.
It really depends on what you need to catch.
If you only need to catch either the Rising or Falling edge of a signal, then it's much easier to use INT1, INT2 and INT3.
But it you need to catch both edges, then the best route is RBC_INT (PORTB Change) on PORTB.4-7.
So I'd guess buttons on INT?, and encoders on RBC.
<br>
DT
Hi Darrel,
i use your instant interrupts on a 18F6722.
A question to the interrupts:
I want to use a timer which shall make 1sec ticks and i have both uarts receving commands from other devices. I also have two subs writing and reading via I2C-Bus to some internal devices. Problem: If having more and more activity on the i2c bus and also interrups are coming via the uarts, the timer is getting slower (2 - 3 sec) depending on the activity.
All interrups are defined as high priority interrups.
Any idea?
Regards,
Ralf
Bookmarks