>This still confuses me after more than 20 years in this field. >I think of it this way. In an event driven system, the event >being processed is the foreground routine. Whatever runs when >there are no foreground routines to run is the background. This >is of course just my personal view which may be totaly wrong. It is also the way I think of it. I like to think the background task is the one that plods along doing mundane stuff, and the interrupt tasks are the "wake up, drop what your doing and do something in a right now" task, but not necessarily a foreground task. It may then hand data or tasks to the background task to handle as it is able to (e.g. by putting received characters from a uart into a FIFO). -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu