Thanks Joep for your advise. I have now stopped investigating the use of 
tasks for my project.
In the last days I reprogrammed my subroutines to delay state machines and 
three procedures are working nicely together now. I never programmed state 
machine procedures before, so this was a fine practice for me as well. 
Thanks again for pointing me in this direction.

Greetz, Dirk

Op donderdag 20 september 2012 08:43:47 UTC+2 schreef Joep het volgende:
>
> Hi Dirk, 
>
> Most of my apps have what you could consider 'tasks'. However, I use 
> non-blocking state machines instead of the jal TASK feature, because I 
> fail to see the added value of this feature since it only allows 
> 'suspend' at level0 (there are other reasons too, similar to the 
> discussion if/when an RTOS is worth while). 
> But I am happy to learn, so please enlighten me if you think I am 
> missing something ;) 
>
> When reading the issue, the first questions that comes to mind are 
> - does blinking work as expected without tasks? 
> - is the issue in the isr (in other words: does it take more time to 
> decrease the counter) or in the task/main loop (does it take more time 
> to see the counter is zero)? 
> - is the issue also there when you don't start the second task? 
> I had a glance at your code and it looks okay and clean to me. You 
> might want to take a look at the asm file to see what code is produced 
> by the compiler to handle both tasks (and particual, the way it 
> suspends / switches). 
> I don't recall much on tasks at the yahoo jal group, but since this 
> group is much larger, you might get more info there. 
>
> And in case you can't convince me to give tasks a try, you might 
> consider creating your 'tasks' as small, non-blocking procedures and 
> call them from the main loop. The delay slot sample shows how to 
> control the calling frequency of different tasks. 
>
> Joep 
>
>
> 2012/9/20 dirk <[email protected] <javascript:>>: 
> > Hello group, 
> > 
> > I am trying to do a project with several tasks, but I am having trouble 
> > getting it going. 
> > Can anyone tell me why the following code doesn't work? 
> > 
> > -- JAL 2.0.4 
> > include 18f2520 
> > pragma target clock 20_000_000        -- oscillator frequency 
> > -- Configuration memory settings (fuses) 
> > pragma target OSC  HS             -- HS crystal or resonator 
> > pragma target WDT  disabled        -- no watchdog 
> > pragma target LVP  disabled        -- no Low Voltage Programming 
> > -- 
> > pragma task 2 
> > -- Enable delays without blocking 
> > const timer0_isr_rate = 1000            -- 1 kHz isr rate 
> > const DELAY_SLOTS = 1                   -- support 1 delays at the same 
> time 
> > include timer0_isr_interval 
> > timer0_isr_init()                       -- init timer0 isr 
> > -- 
> > enable_digital_io()                -- Make all pins digital I/O 
> > -- 
> > PORTA_direction = OUTPUT 
> > -- 
> > task Something() is 
> >     forever loop 
> >         --do something 
> >         suspend 
> >     end loop 
> > end task 
> > -- 
> > start Something() 
> > set_delay(0, 100) 
> > forever loop 
> >     if (check_delay(0)) then 
> >          pin_a0 = ! pin_a0 
> >          set_delay(0, 100) 
> >     end if 
> >     suspend 
> > end loop 
> > 
> > I expected the led on pin  A0 to blink every 10th of a second, in stead 
> it 
> > blinks at a much slower rate (every minute). 
> > 
> > Please help me out. 
> > Greetz, Dirk 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "jallib" group. 
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msg/jallib/-/d5RX2TFoiAgJ. 
> > To post to this group, send email to [email protected]<javascript:>. 
>
> > To unsubscribe from this group, send email to 
> > [email protected] <javascript:>. 
> > For more options, visit this group at 
> > http://groups.google.com/group/jallib?hl=en. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/jallib/-/5CRI11nsvfYJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to