xSerialPutChar problem
I have a problem with serial communication.
I made a simple task that send ‘A’ once per second (PIC18F4550 with MPLAB C 7.52)
On Window’s Hyperterminal, ‘A’ appears once per 5 seconds.
I suspect queue caused the trouble(I declared serial queue length to 5 )
#define mainCOMMS_QUEUE_LENGTH ( 5 )
Please tell me what’s wrong.
Regards
Sohn, Seoul, Korea
static void vTest( void *pvParameters )
{
for( ;; )
{
vTaskDelay( 900);
xSerialPutChar( NULL, ‘A’, 100 );
vParTestToggleLED(2);
vTaskDelay( 100);
vParTestToggleLED(2);
}
}
xSerialPutChar problem
From the code it looks like A should be sent every 1000 ticks, but there is nothing to say what one tick represents. It could be that the tick is running 5 times slower than you think. Most likely the thing that is wrong is the setup of the timer that is generating the tick.
Check the configTICK_RATE_HZ and configCPU_CLOCK_HZ settings in FreeRTOSConfig.h along with prvSetupTimerInterrupt() in port.c. If these are both right take a look at your initialization code to see how you are setting up the processor clock frequency.
Dave.