osMutexDef( Mutex );
osMutexId mutex;
void Thread0( void * arg);
void Thread1( void * arg);
osThreadDef( Thread0, Thread0, osPriorityNormal, 512 );
osThreadDef( Thread1, Thread1, osPriorityAboveNormal, 512 );
void Thread0( void * arg)
{
while(1)
{
osMutexWait( mutex, osWaitForever );
osDelay( 10 );
osMutexRelease( mutex );
osDelay( 10 );
}
}
void Thread1( void * arg)
{
while(1)
{
osMutexWait( mutex, osWaitForever );
osDelay( 10 );
osMutexRelease( mutex );
osDelay( 10 );
}
}
int main( void )
{
osKernelInitialize();
osThreadCreate( osThread(Thread0), (void *)100 );
osThreadCreate( osThread(Thread1), (void *)200 );
mutex = osMutexCreate( osMutex(Mutex) );
osKernelStart();
return 0;
}