PDA

View Full Version : Interrupts & OWIN/OWOUT



Desterline
- 21st June 2005, 13:21
Hey boys and girls,
I have a little project that handles a multiplexed LED display (timer0, assembly interrupts, ~250Hz) and it needs to read the time from a DS1994 (Maxim/Dallas iButton RTC). Problem is, if I let the interrupts run I seem to be getting garbage data from the iButton. But if I turn off the interrupts during the OWIN/OWOUT, the data's fine but I get unacceptable display flicker.

Anybody have any light they can shine on this?

Thanks,
-Denny

Acetronics2
- 21st June 2005, 14:22
Hi

And What about using a specialised LED Driver ... as I suppose you don't read time more than once a second ... some latching could be welcome.

as OWin must not be interrupted ... no other solution !!!

Alain

Desterline
- 21st June 2005, 15:28
I believe I may have found an acceptable work-around for this. It turns out that _part_ of the problem was the way I was handling the display multiplexing. I was writing to the TRIS byte on the same port as the 1wire link. Now I'm reading the TRIS byte and bitmasking the write.

But the real solution was to run the OWIN/OWOUT _in_ the interrupt. That way the 1wire commands are sync'd to the interrupt and complete before the next interrupt. I had to add some flags to steer the main loop and to indicate when the data is valid and should be proccessed, but that's not a big deal.

Thanks,
-Denny