FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [March 2009 Threads] Call xTaskGetTickCount from ISR freezes STM32Posted by Todd on March 15, 2009 I am using STM32 w/ FreeRTOS 5.1.2 When I call xTaskGetTickCount() from an ISR (specifically EXTI0), the application freezes up.
The solution was to remove the taskENTER_CRITICAL(); and taskEXIT_CRITICAL(); calls from the xTaskGetTickCount() function, these are not needed on 32-bit anyway.
My suggestion for future versions is a #IF to remove these calls on 32-bit architectures.
Todd
RE: Call xTaskGetTickCount from ISR freezes SPosted by Richard on March 16, 2009 See number 3 on the following page: http://www.freertos.org/FAQHelp.html
Version 5.2.0 has removed critical sections from a few places where they were not necessary, however the type used to hold the tick count is configurable so the critical section remains there.
It might be better to have a "get tick count from isr" function, or to just make the tick count accessible.
Regards.
RE: Call xTaskGetTickCount from ISR freezes SPosted by Todd on March 17, 2009 I agree that a "get tick count from isr" function would be beneficial. As an example, my application uses a hall sensor that measures RPM of a motor. Every rotation of the shaft generates a interrupt which measures the time since the last interrupt. I could imagine a few other situations were the "get tick from isr" would be helpful.
Hopefully this can be implemented in a future version.
Todd
RE: Call xTaskGetTickCount from ISR freezes STM32Posted by Samuel Tardieu on March 19, 2009 Todd: in your case, I think you should use another timer in counter mode, maybe automatically triggered by the interrupt from the hall sensor.
The system tick will typically have a quite low frequency (1ms), while you could easily get much more accurate information.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|