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] [February 2017 Threads] Getting kicked out of the tastPosted by mishung on February 15, 2017 I am getting a strange behaviour out of my FreeRTOS on Xmega32D4 (AVR-GCC). Whenever there is a while loop without any vTaskDelay() and it takes a couple miliseconds to complete (for example receiving data from usart which could take as much as 30ms) I seem to get kicked out of the function earlier. For example I am supposed to receive 30B from the buffer but I only get 28B. If I add vTaskDelay(1) into the loop, everything goes fine. Same goes for a lot of other examples and not just an USART data recovery. As far as I know I am not using any watchdog timer.
What could be the cause of this?
Getting kicked out of the tastPosted by rtel on February 15, 2017 It sounds like a logic error, or a timing error in the interaction with
the hardware. Without seeing how you are determining that the loop
should exit after 28 bytes, when you actually want 30 bytes, it will be
impossible to even guess what might be the cause. Post the code that is
determining that the loop should be exited, but even after seeing the
code it might be that we can't answer the question without also studying
the hardware manual (which we are not going to do).
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|