* xSemaphoreCreateCounting().\r
  *\r
  * @param xSemaphore A handle to the semaphore being taken - obtained when\r
- * the semaophore was created.\r
+ * the semaphore was created.\r
  *\r
  * @param xBlockTime The time in ticks to wait for the semaphore to become\r
  * available.  The macro portTICK_RATE_MS can be used to convert this to a\r
  * real time.  A block time of zero can be used to poll the semaphore.  A block\r
- * time of portMAX_DELAY can be used to block indefinately (provided\r
+ * time of portMAX_DELAY can be used to block indefinitely (provided\r
  * INCLUDE_vTaskSuspend is set to 1 in FreeRTOSConfig.h).\r
  *\r
  * @return pdTRUE if the semaphore was obtained.  pdFALSE\r
  * doesn't become available again until the owner has called \r
  * xSemaphoreGiveRecursive() for each successful 'take' request.  For example, \r
  * if a task successfully 'takes' the same mutex 5 times then the mutex will \r
- * not be avilable to any other task until it has also  'given' the mutex back\r
+ * not be available to any other task until it has also  'given' the mutex back\r
  * exactly five times.\r
  *\r
  * @param xMutex A handle to the mutex being obtained.  This is the\r
  * available.  The macro portTICK_RATE_MS can be used to convert this to a\r
  * real time.  A block time of zero can be used to poll the semaphore.  If\r
  * the task already owns the semaphore then xSemaphoreTakeRecursive() will\r
- * return immediately nomatter what the value of xBlockTime. \r
+ * return immediately no matter what the value of xBlockTime. \r
  *\r
  * @return pdTRUE if the semaphore was obtained.  pdFALSE if xBlockTime\r
  * expired without the semaphore becoming available.\r
                        // available to another task until it has also been given back\r
                        // three times.  Again it is unlikely that real code would have\r
                        // these calls sequentially, but instead buried in a more complex\r
-                       // call structure.  This is just for illustrative puproses.\r
+                       // call structure.  This is just for illustrative purposes.\r
             xSemaphoreGiveRecursive( xSemaphore );\r
                        xSemaphoreGiveRecursive( xSemaphore );\r
                        xSemaphoreGiveRecursive( xSemaphore );\r
  * doesn't become available again until the owner has called \r
  * xSemaphoreGiveRecursive() for each successful 'take' request.  For example, \r
  * if a task successfully 'takes' the same mutex 5 times then the mutex will \r
- * not be avilable to any other task until it has also  'given' the mutex back\r
+ * not be available to any other task until it has also  'given' the mutex back\r
  * exactly five times.\r
  *\r
  * @param xMutex A handle to the mutex being released, or 'given'.  This is the\r
  * doesn't become available again until the owner has called \r
  * xSemaphoreGiveRecursive() for each successful 'take' request.  For example, \r
  * if a task successfully 'takes' the same mutex 5 times then the mutex will \r
- * not be avilable to any other task until it has also  'given' the mutex back\r
+ * not be available to any other task until it has also  'given' the mutex back\r
  * exactly five times.\r
  * \r
  * This type of semaphore uses a priority inheritance mechanism so a task \r