Re: which rom400_task routines are safe to call from an isr
"Kris Ardis" <Kristopher.Ardis-6tN4nzCoH/[email protected]>
| Newsgroups | gmane.comp.hardware.microcontrollers.tini |
|---|---|
| Message-ID | <00d201c406d9$eec84a30$764000b4@kardis> |
I think you may be able to do better than this...if you set the 'need_sched' bit in your interrupt (that's "rom_flags.0", see definition for rom_flags in startup400.a51) then the next time the millisecond ticker comes around, it will run User_IOPoll and then the scheduler. Unless a lower priority interrupt was in progress when the timer tick fired, you should be able to get your IOPoll run and your task scheduled within about a millisecond of the event. If you need better performance than this, the timer 0 interrupt could always be replaced with a custom one greased for your app. Kris ----- Original Message ----- From: "john bogus" <bogusemail98230-/[email protected]> To: <tini-6tN4nzCoH/[email protected]>; "Kris Ardis" <[email protected]> Sent: Tuesday, March 09, 2004 11:04 AM Subject: Re: [TINI]which rom400_task routines are safe to call from an isr I was hoping to get better performance than this I want to use this in a case where I get an interrupt every 2-3 milliseconds which then requires about 1-2 milliseconds of processing. While the processing is happening I do not want to miss other interrupts. polling every 4ms means my performance will drop to roughly half. any suggestions? --- Kris Ardis <Kristopher.Ardis-6tN4nzCoH/[email protected]> wrote: > Waking up tasks from an interrupt doesn't work too > well. Instead, you can > register a polling routine using the User IO Poll > routine library. It is > safe for the polling routines to call the task > functions, so you can have > your polling routine monitor for a wakeup signal. > > Kris > > ----- Original Message ----- > From: "john bogus" <bogusemail98230-/[email protected]> > To: <tini-6tN4nzCoH/[email protected]> > Sent: Thursday, March 04, 2004 2:13 PM > Subject: [TINI]which rom400_task routines are safe > to call from an isr > > > > > I have some C code and want to wake (or spawn) a > task > from an ISR. Because of the way interrupts work on > 8051 processors I assume there are limits on what i > can do with the rom400_task task scheduler rotuines > from an ISR. > > - which rom400_task routines are safe to call from > an > isr? > > - are there any recommendations on how this should > be > done on the 80c400? > > __________________________________ > Do you Yahoo!? > Yahoo! Search - Find what you're looking for faster > http://search.yahoo.com > _______________________________________________ > TINI mailing list > TINI-6tN4nzCoH/[email protected] > To UNSUBSCRIBE, edit your profile, or see list > archives: > http://lists.dalsemi.com/mailman/listinfo/tini > > > __________________________________ Do you Yahoo!? Yahoo! Search - Find what you're looking for faster http://search.yahoo.com _______________________________________________ TINI mailing list TINI-6tN4nzCoH/[email protected] To UNSUBSCRIBE, edit your profile, or see list archives: http://lists.dalsemi.com/mailman/listinfo/tini _______________________________________________ TINI mailing list TINI-6tN4nzCoH/[email protected] To UNSUBSCRIBE, edit your profile, or see list archives: http://lists.dalsemi.com/mailman/listinfo/tini