Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Real time embedded FreeRTOS mailing list 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT Training


How to stop FreeRTOS running Task

Posted by rahulsakhare on November 11, 2016


I have project which is having many tasks and working fine on FreeRTOS. out of these tasks two task are called from ISR. I want to change the implimatation such that if one interrupt is exicuting and anothet interrupt occurs, i wnat to stop the exicuting task and resume the secont task.

Senario would be like, i have system which receives illumination and shock/vibration interrupts and resumes the task for illumination and shock data processeng respectivly. E.g if illumination task is running due to illumination interrupt and during this time if i got shock interrupt i want stop illumination task and resume shock task.

Note: Both the tasks are having same priority and i dont want to change the priority of tasks.

How to stop FreeRTOS running Task

Posted by richard_damon on November 11, 2016

It sounds like you DO want to change the priority of the tasks, as you are impling that you need to process the shock task over the illumination task.

Now, one thing is a bit unclear from your description. when you say 'stop' the illumination task, do you mean preempt its running and let the shock task run, and when the shock task finishes then the illumination task can finish, or do you mean that when the shock interrupt comes in, the work of the illumination task is now not needed at all and should be discarded.

In the first case, another important question is, you have said that a shock should suspend a previous illumination, if you get an illumination while processing a shock what should happen, should it wait for the shock to finish and then process the illumination (in which case you DO mean the shock has a higher priority) or do you want the latest interrupt to be processed first (in which case you need to think about the possibility of an interrupt occuring when that type of interrupt is already being processed)

[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]

Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.

Free TCP/IP and file system demos for the RTOS

Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists