scottnortman wrote on Thursday, January 04, 2007:
I am now trying to use stdio facilities in my application.
I am using the serial.c demo file which implements a basic interrupt driven API. I’ve implemented a semaphore to control access to the serial functions across multiple tasks.
This works:
static void task1( void *pv )
{
for(;
{
vTaskDelay( 100 );
if( xSemaphoreTake( xSerialSemaphore, 10 )
{
printf("task1\r\n");
xSemaphoreGive( xSerialSemaphore );
}
}
static void task2( void *pv )
{
for(;
{
vTaskDelay( 200);
if( xSemaphoreTake( xSerialSemaphore, 10 )
{
printf("task2\r\n");
xSemaphoreGive( xSerialSemaphore );
}
}
But this does NOT:
static void task1( void *pv )
{
for(;
{
vTaskDelay( 100 );
if( xSemaphoreTake( xSerialSemaphore, 10 )
{
printf("%c\r\n", 0x31); //changed here
xSemaphoreGive( xSerialSemaphore );
}
}
static void task2( void *pv )
{
for(;
{
vTaskDelay( 200);
if( xSemaphoreTake( xSerialSemaphore, 10 )
{
printf("task2\r\n");
xSemaphoreGive( xSerialSemaphore );
}
}
Any suggestions / thoughts?
–Scott