Re: Very simple multitasking on MSP430
From: Ian Bell (ruffrecords_at_yahoo.com)
Date: 09/25/04
- Next message: Martin Schoeberl: "Re: Benchmarking embedded Java"
- Previous message: dave: "Re: How To Synchronize FPGAs"
- In reply to: Andreas: "Very simple multitasking on MSP430"
- Next in thread: Andreas: "Re: Very simple multitasking on MSP430"
- Reply: Andreas: "Re: Very simple multitasking on MSP430"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 25 Sep 2004 11:41:49 +0100
Andreas wrote:
> Hi!
> I have to program a MSP430F11(0/1)1 (1/2KB Flash, 128B RAM)
> to do 2 tasks:
>
> - RX/TX bus connection
> - measure a capacitance with timer_A
>
> The measurement has to run every certain time. But this has not the
> highest priority. It is better for me to loose one measurement cycle and
> therefore get incoming bus data. At this point I remark, that I can't
> adjust interrupt priorities in the MSP430, they are built in.
> The RX function can be implemented blocking (waiting for an interrupt to
> occur) or non-blocking (by waiting for an interrupt OR a timeout).
> How can the tasks be arranged to work pseudo-simultanous?
> I know the simple OS versions available for the MSP430, but they need
> too much memory. I tried to use 16-bit watchdog as an interval timer to
> get a system time source. Its interrupt has the highest priority, hasn't
> it? Now I need a very very simple scheduler.
>
> I thought about this, too:
> In this scenario I use the watchdog timer in reset mode as task timer.
> I have a reset-persistent RAM area, where I can hold status variables
> over a reset. So I can use a state variable (measure/RXTX) and switch to
> the corresponding next action after a reset. If the task time is used
> up, I get a reset by the watchdog timer, switch to the other task by
> asking my state variable and so on. So I have a reset context switch ;-)
>
> What do you think?
>
> Regards,
> Andreas
More info needed to help you properly. First how much data goes
up/down the TX/RX bus connection and how often? Second how is the
capaictance measured? With something as simple as this it should only
be necessary to manage the interrupts properly and use a simple
background routine to hold things together.
Ian
-- Ian Bell
- Next message: Martin Schoeberl: "Re: Benchmarking embedded Java"
- Previous message: dave: "Re: How To Synchronize FPGAs"
- In reply to: Andreas: "Very simple multitasking on MSP430"
- Next in thread: Andreas: "Re: Very simple multitasking on MSP430"
- Reply: Andreas: "Re: Very simple multitasking on MSP430"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|