xSerialPutChar problem

nobody wrote on Tuesday, March 06, 2007:

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);

    }
}

nobody wrote on Tuesday, March 06, 2007:

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.