There is not a widely-used multitasking OS for PIC's because they aren't well suited to it. 1) They are pretty small (memory-wise, especially), so they couldn't hold a very complex OS. 2) They are pretty cheap, and generally used in applications that don't need particularly complex software. 3) The usual way for an OS to manage multitasking is by switching stack pointers. The PIC's hardware stack makes this so difficult and inefficient that it generally isn't worth the pain. That said, there are still plenty of methods in a good programmer's bag of tricks that can be applied to get a PIC to do more than one thing at a time, which is the essence of multitasking. Interrupts are one way -- do one task, say in response to a timer interrupt, and another in the background at the non-interrupt level. State machines are another way. Electrical engineers are used to using them to design digital logic, but they can be used to design software as well. It's not an operating system, but you might take a look at the Realizer package here: http://www.actum.com/actum.htm It's an extremely clever system to convert logic and state diagrams into code for PIC's and other microcontrollers. If only they didn't have to work for a living and could afford to give it away... They are pretty reasonable for such a professional package, but they aren't free, and the free demo is so limited it's hard even to play with it. > -----Original Message----- > From: John Orhan [mailto:JOrhan@EDM.COM.AU] > Sent: Tuesday, February 08, 2000 11:32 PM > To: PICLIST@MITVMA.MIT.EDU > Subject: operating system > > > Hi all, > Anyone out there experienced with multitasking a PIC? I am trying to > implement interrupts to perform the function of a > multitasking a PIC with > all sorts of trouble and was hoping there is already > something written I > could 'borrow' to do the same thing. > john >