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] [August 2010 Threads] PIC24/dsPIC timer period is 1 clock too longPosted by Dan Henry on August 23, 2010 From the "Timers" Reference Manual sections for these devices (Example 11-1 and Figure 11-4 in all manuals) we can see that prvSetupTimerInterrupt() in port.c should be changed from: const unsigned long ulCompareMatch = ( configCPU_CLOCK_HZ / portTIMER_PRESCALE ) / configTICK_RATE_HZ; to: const unsigned long ulCompareMatch = ( configCPU_CLOCK_HZ / portTIMER_PRESCALE ) / configTICK_RATE_HZ - 1;
RE: PIC24/dsPIC timer period is 1 clock too longPosted by Richard on August 23, 2010 Thanks for the feedback. Its not the first time I have made that mistake, and I'm sure it won't be the last.
However, I'm not sure your solution is completely accurate because of the operator precedence. Should it not be:
const unsigned long ulCompareMatch = ( ( configCPU_CLOCK_HZ / portTIMER_PRESCALE ) / configTICK_RATE_HZ ) - 1;
If you agree with this I will change it in SVN straight away so it does not get lost in the crowds.
Regards.
RE: PIC24/dsPIC timer period is 1 clock too longPosted by Dan Henry on August 23, 2010 Multiplicative operators, of which '/' is one, have higher precedence than additive operators, so the added parentheses are unnecessary. However, explicitness is always good in my book, so I say leave them in the way you have it.
RE: PIC24/dsPIC timer period is 1 clock too longPosted by Richard on August 23, 2010 ... the SVN copy has been updated.
Regards.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|